Google chrome extension 您可以在后台脚本中执行哪些操作';在其他js文件中做不到?
*对于其他js文件,我指的是popup.html中包含的文件。 下面的代码可以工作,那么我为什么要使用背景脚本呢 内容脚本 popup.html中包含的脚本 这Google chrome extension 您可以在后台脚本中执行哪些操作';在其他js文件中做不到?,google-chrome-extension,Google Chrome Extension,*对于其他js文件,我指的是popup.html中包含的文件。 下面的代码可以工作,那么我为什么要使用背景脚本呢 内容脚本 popup.html中包含的脚本 这 只要Chrome浏览器处于活动状态,就可以继续使用(如果设置了权限,甚至可以延长使用时间)。仅当徽章的弹出窗口打开时,弹出页面才处于活动状态。弹出窗口只能由用户打开 背景页面的文档永远不可见,而弹出页面在单击徽章按钮时变为可见 除此之外,背景页面和弹出页面之间没有区别。它们在同一扩展的进程中运行,并且可以访问同一组API。 如果您的扩
- 只要Chrome浏览器处于活动状态,就可以继续使用(如果设置了权限,甚至可以延长使用时间)。仅当徽章的弹出窗口打开时,弹出页面才处于活动状态。弹出窗口只能由用户打开
- 背景页面的文档永远不可见,而弹出页面在单击徽章按钮时变为可见
设想一个从服务器下载巨大文本文件的扩展。资源的创建对于服务器来说是非常占用资源的。从技术上讲,一切都可以在弹出窗口中完成。但是,将任务卸载到后台页面允许用户在下载文件时执行其他任务(如果仅使用弹出窗口,则当用户关闭弹出窗口时,下载将停止)
虽然你没有问,但我想让你知道。它们类似于后台页面,但有一个区别:当扩展空闲时,事件页面会自动关闭。换句话说,事件页面仅处于活动状态!通过这样做,您的扩展将受益于后台页面的优势,而不会不必要地浪费用户的内存 我的最后一个示例也是必须使用事件页面的完美示例。除了代表弹出窗口执行http请求外,后台页面什么也不做。如果您使用事件页面而不是背景页面,您将获得两个方面的最佳效果:弹出页面可以在不中断下载的情况下关闭,并且扩展不会浪费内存 文档
- 了解更多关于和
- 此答案中的“弹出”是指或API的可选面板,通过在清单文件中声明
键来设置,或通过编程方式使用“default\u Popup”
方法来设置setPopup
chrome.extension.onMessage.addListener(
function(request, sender, sendResponse) {
//Some code
}
);
chrome.tabs.query({active:true,windowId: chrome.windows.WINDOW_ID_CURRENT},
function(tab) {
chrome.tabs.sendMessage(tab[0].id, {method: "someMethod"},
function(response){
//Some code
});
});