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