首頁 > web前端 > js教程 > 主體

如何在 Chrome 擴充內容腳本中存取 Gmail 的全域變數?

Barbara Streisand
發布: 2024-10-27 02:21:03
原創
734 人瀏覽過

How Can I Access Global Variables from Gmail Within a Chrome Extension Content Script?

從Chrome 擴充程式內容腳本存取Gmail 中的全域變數

簡介

簡介

問題:

擴充功能開發人員在從 Gmail 存取 GLOBALS 變數時遇到困難內容腳本。 jQuery.load() 和開發者工具的控制台都無法檢索所需的數據,從而導致錯誤訊息。

解決方案:

    內容腳本在與網頁分離的隔離環境。要存取全域屬性,必須採用以下方法之一:
  1. 注入新的 <script> </script>
利用事件監聽器在內容腳本和網頁之間傳遞資料。

事件監聽器方法
  1. contentscript.js
    <code class="javascript">var s = document.createElement('script');
    s.src = chrome.extension.getURL('script.js');
    (document.head||document.documentElement).appendChild(s);
    s.onload = function() {
        s.remove();
    };
    
    // Event listener
    document.addEventListener('RW759_connectExtension', function(e) {
        // e.detail contains the transferred data.
        alert(e.detail);
    });</code>
    登入後複製
    中(清單的「run_at」:「 document_end」):
  2. script.js
    <code class="javascript">setTimeout(function() {
        // Send GLOBALS variable from Gmail to the extension.
        document.dispatchEvent(new CustomEvent('RW759_connectExtension', {
            detail: GLOBALS
        }));
    }, 0);</code>
    登入後複製
    ,放置在擴充目錄下,注入到頁中:

注意事項:
  • 確保「script.js」包含在清單檔案的「web_accessible_resources」部分中,因為它是從DOM 中的擴充URL加載的。
最小化網頁中的邏輯並處理內容腳本中的大多數操作防止網頁幹擾並存取專門功能。

以上是如何在 Chrome 擴充內容腳本中存取 Gmail 的全域變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!