我想在点击扩展程序图标时停止加载页面。我有一个背景页面,当我点击扩展图标时,我需要一个类似于window.stop()的选项。如果主页面仍处于加载状态,则停止加载并加载扩展名的内容JavaScript应该可以正常工作。
答案 0 :(得分:3)
您可以随时执行此操作(需要主机权限或activeTab
):
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(tab.id, {
code: "window.stop();",
runAt: "document_start"
});
});
我不确定清单定义的内容脚本会发生什么。使用run_at
以外的document_start
定义的脚本可能不会被注入;在这种情况下,您可以使用executeScript
的回调来注入它们,并在内容脚本中放入一些保护代码以防止它执行两次:
// content.js
if(contentInjected) return;
var contentInjected = true;
/* rest of the code */