存取Gmail 內容腳本中的全域變數
您尋求使用Chrome 擴充程式從活動Gmail 郵件網頁擷取GLOBALS 變數的解決方案.
內容腳本中的隔離
內容腳本在隔離的環境中執行,防止直接存取頁面全域變數。
消息傳遞技術
要克服這種隔離,請考慮消息傳遞技術:
注入腳本元素
將腳本元素注入頁面的DOM使用擴充URL:
<code class="javascript">var s = document.createElement('script'); s.src = chrome.extension.getURL('script.js'); (document.head||document.documentElement).appendChild(s);</code>
建立事件監聽器
此外,建立用於資料交換的事件監聽器:
<code class="javascript">document.addEventListener('RW759_connectExtension', function(e) { alert(e.detail); // Transfer data, e.g., GLOBALS });</code>
Script.js 注入
在「script.js」中(加入清單中的web_accessible_resources 中):
<code class="javascript">setTimeout(function() { document.dispatchEvent(new CustomEvent('RW759_connectExtension', { detail: GLOBALS // Send GLOBALS to the extension })); }, 0);</code>
訊息傳遞的優點
訊息傳遞方法允許對網頁進行有限的擴展邏輯暴露並存取擴展的Chrome API 函數。
結論
透過實作這些技術,您可以有效地從 Chrome 擴充功能的內容腳本中存取全域變量,例如 GLOBALS。以上是如何在 Chrome 擴充功能中從 Gmail 的內容腳本存取全域變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!