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

Javascript chrome扩展:启动时停止加载页面,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我想在单击扩展图标时停止页面加载。我有一个背景页面,当我单击扩展图标时,我需要一个类似于window.stop()的选项。如果主页仍处于加载状态,请停止加载并加载扩展的JavaScript内容。您始终可以这样做(需要主机权限或): 我不确定清单定义的内容脚本会发生什么。使用run\u at而不是document\u start定义的脚本可能不会被注入;在这种情况下,您可以使用executeScript的回调在任何情况下注入它们,并在内容脚本中加入一些保护代码以防止它执行两次: // conten

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

您始终可以这样做(需要主机权限或):

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

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

/* rest of the code */

否。代码chrome.tabs.executeScript(tab.id,{code:“window.stop”});不管用。这里,执行脚本不会影响重新加载选项卡。另外,我在chrome.browserAction.onClicked.addListener(函数(选项卡){不要忘记在
窗口之后添加
()
。停止
;)@RobW和可能的
处运行。\u现在无法编辑,可以修复吗?@abhilash此答案顶部的代码应该从后台页面运行。然后单击按钮停止页面加载。如果对帧不起作用,请尝试添加
所有帧:true
。如果Xan的解决方案不起作用,请尝试
chrome.tabs.update(tab.id),{url:'javascript:void window.stop();'})
// content.js
if(contentInjected) return;
var contentInjected = true;

/* rest of the code */