Javascript 扩展编程:逻辑和动态行为应该存在哪里?背景js、内容脚本、弹出js
我想创建一个扩展,它执行以下操作:Javascript 扩展编程:逻辑和动态行为应该存在哪里?背景js、内容脚本、弹出js,javascript,browser,plugins,google-chrome-extension,Javascript,Browser,Plugins,Google Chrome Extension,我想创建一个扩展,它执行以下操作: 有一个页面操作或浏览操作(不确定哪一个更合适) 如果在我的数据库/服务中找到页面的url,则允许操作具有/显示一个弹出窗口,其中显示来自我的服务的一些信息 否则,使操作按钮看起来被禁用,并且不显示弹出窗口 我一直在尝试一个带有弹出窗口的背景脚本。无法在“我的服务”结果的弹出窗口集中显示内容。对于后台和弹出窗口之间的通信,我使用了这里的建议:但没有成功地使其工作。调试弹出窗口几乎是不可能的 我尝试在主页中使用content_脚本创建iFrame。那一点也不顺利。
我尝试在主页中使用content_脚本创建iFrame。那一点也不顺利。很多跨帧异常。我认为,对于您正在做的事情,您应该查看页面操作。页面操作默认为灰色,但您可以选择显示它们。 查看一下,您可以通过在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);
编辑:对不起,我现在意识到你实际上是在调试弹出窗口。希望这有助于检查URL,尽管在chrome中,您可以在事件页面中使用declarativeContent API来注册页面操作的URL。@wOxxOm我认为使用declarativeContent无法在URL上执行任何操作。必须进行服务调用以确定URL是否符合条件。