存取 Gmail 內容腳本中的全域變數
您尋求使用 Chrome 擴充功能從活動 Gmail 郵件網頁擷取 GLOBALS變數的解決方案.
內容腳本中的隔離
內容腳本執行於隔離環境,防止直接存取頁面全域變數。
訊息傳遞技術
要克服這種隔離,請考慮訊息傳遞技術:
注入腳本元素
使用擴充將腳本元素注入到頁面的DOM 中URL:
var s = document.createElement('script');
s.src = chrome.extension.getURL('script.js');
(document.head||document.documentElement).appendChild(s);
建立事件監聽器
另外,建立資料交換的事件監聽器:
document.addEventListener('RW759_connectExtension', function(e) {
alert(e.detail); // Transfer data, e.g., GLOBALS
});
Script.js 注入
在「script.js」中(加入清單中的web_accessible_resources 中):
setTimeout(function() {
document.dispatchEvent(new CustomEvent('RW759_connectExtension', {
detail: GLOBALS // Send GLOBALS to the extension
}));
}, 0);
訊息傳遞的優點
訊息傳遞方法允許有限的擴展邏輯暴露於網頁並訪問擴展的 Chrome API 函數。
結論
透過實施這些技術,您可以從 Chrome 中有效地存取全域變量,例如 GLOBALS擴展的內容腳本。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3