【问题标题】:Google Chrome Extension - waiting until page loadsGoogle Chrome 扩展程序 - 等待页面加载
【发布时间】:2010-10-25 22:30:55
【问题描述】:

在我的 Google Chrome 扩展程序中,我有一个 Content Script (content.js) 和一个 Background Page (background.html)。我让 context.js 检查页面上出现的关键字。但是,我想等到页面完全加载后再搜索页面,因为关键字可能出现在页面底部。

参见Page action by content 三明治示例 (files),这基本上就是我正在做的。如果您加载扩展程序,您会看到该扩展程序仅在页面顶部出现“三明治”一词时才有效。

【问题讨论】:

    标签: google-chrome google-chrome-extension


    【解决方案1】:

    尝试将其添加到 manifest.json 文件的“content_scripts”部分。

    "run_at": "document_end"
    

    https://developer.chrome.com/docs/extensions/mv3/content_scripts/

    【讨论】:

      【解决方案2】:

      作为清单的"run_at": "document_end" 的替代方案,可以应用标准的javascript 事件处理方法。例如,DOMContentLoaded 事件可用于运行需要加载 DOM 的逻辑。

      ma​​nifest.json

      "content_scripts": [
              "js": ["content.js"],
              "run_at": "document_start"
          }
      ]
      

      content.js

      console.log('The extension works');
      // ... logic that does not need DOM
      
      function run() {
        console.log('The DOM is loaded');
        // ... logic that needs DOM
      }
      
      document.addEventListener("DOMContentLoaded", run);
      

      【讨论】:

      • 您的意思是"run_at": "document_end" 而不是"run_at": "document_start"
      • 我不这么认为。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-18
      • 2020-10-02
      • 1970-01-01
      • 2017-12-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多