我正在尝试开发一个chrome扩展,它可以保存在所有标签中打开的网页的url,然后在需要的时候加载它们。现在我知道了内容脚本、后台脚本和popup.js。内容脚本主要处理加载的网页的内容,它们有较少的chrome api交互,后台脚本在一个隔离的环境中执行,我们可以使用所有的chrome api方法,popup.js只是在popup.html上下文中运行的javascript。
现在我的问题来了,我在popup.html中有一个名为“保存”的按钮,点击这个按钮后,我想要保存在一个窗口下的多个标签页中打开的所有网页urls。我该怎么做呢?我应该写一个内容还是一个背景脚本?
很抱歉我问了这么多无礼的问题。我是chrome api的新手。有什么帮助/建议吗?
发布于 2016-09-16 11:53:55
内容脚本或背景页都是不需要的。你可以只在popup.js中做到这一点,因为弹出页面实际上运行在与扩展相同的上下文中。
在您的popup.js中,只需调用chrome.tabs.query来获取选项卡信息,包括url (您需要在manifest.json中声明tabs权限)。如果你想指定窗口id,要么使用WINDOW_ID_CURRENT,要么通过其他方式检索它(取决于你的逻辑)
chrome.tabs.query({ windowId: YOUR_WINDOW_ID }, (tabs) => {
tabs.forEach((tab) => console.log(tab.url));
});https://stackoverflow.com/questions/39512318
复制相似问题