扩展编程:逻辑和动态行为应该存在于何处?后台JS,content_script,弹出JS



我想创建一个执行以下操作的扩展:

  1. 有页面操作或浏览器操作(不确定哪个更合适(。
  2. 如果在我的数据库/服务中找到页面的 URL,则允许操作具有/显示一个弹出窗口,其中显示了我的服务中的一些信息。
  3. 否则,使"操作"按钮看起来已禁用且不显示弹出窗口

我一直在尝试带有弹出窗口的背景脚本。无法在弹出窗口中显示内容设置为我的服务的结果。对于背景和弹出窗口之间的通信,我在这里使用了建议:如何在 chrome 扩展程序中弹出窗口.js和背景.js之间进行通信?但没有设法让它工作。调试弹出窗口几乎是不可能的。

我尝试在主页中使用content_script创建iFrame。这根本不顺利。很多交叉帧例外。

我认为对于您正在做的事情,您应该查看页面操作。默认情况下,页面操作灰显,但您可以选择显示它们。 查看如何使特定页面显示page_action?您可以通过循环浏览 URL 列表来更新它

function checkForValidUrl(tabId, changeInfo, tab) {
chrome.storage.local.get(['urls'], function(result) {
for (var item in result.urls) {
if (tab.url.indexOf(item) > -1) {
chrome.pageAction.show(tabId);
//set url to the URL you want for the popup
chrome.pageAction.setPopup({tabId: tabId, popup: url})
//or you could create a new window - see https://developer.chrome.com/extensions/windows.html#method-create
}
}
});
}
chrome.tabs.onUpdated.addListener(checkForValidUrl);

编辑:抱歉,我现在意识到您实际上是在尝试调试弹出窗口。希望这有助于检查网址

最新更新