chrome 扩展:启动时停止加载页面

abh*_*ash 6 javascript google-chrome-extension

我想在单击扩展程序图标时停止页面加载。我有一个背景页面,当我单击扩展图标时,我需要一个类似于 window.stop() 的选项。如果主页仍处于加载状态,则停止加载并加载扩展的内容 JavaScript 应该可以工作。

Xan*_*Xan 4

您始终可以执行此操作(需要主机权限或activeTab):

chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.executeScript(tab.id, {
        code: "window.stop();",
        runAt: "document_start"
    });
});
Run Code Online (Sandbox Code Playgroud)

我不确定清单定义的内容脚本会发生什么。run_at用not定义的脚本可能document_start不会被注入;在这种情况下,您可以使用executeScript的回调在任何情况下注入它们,并在内容脚本中放入一些保护代码以防止它执行两次:

// content.js
if(contentInjected) return;
var contentInjected = true;

/* rest of the code */
Run Code Online (Sandbox Code Playgroud)