Javascript Chrome扩展页面操作未显示在omnibar旁边
舱单:Javascript Chrome扩展页面操作未显示在omnibar旁边,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,舱单: { "manifest_version":2, "name":"Optimize url", "description":"Optimize url", "page_action":{ "default_icon":{ "19":"url-icon16.png", "38":"url-icon48.png" }, "default_title":"Optimize url" }, "backgro
{
"manifest_version":2,
"name":"Optimize url",
"description":"Optimize url",
"page_action":{
"default_icon":{
"19":"url-icon16.png",
"38":"url-icon48.png"
},
"default_title":"Optimize url"
},
"background":{
"scripts":["background.js"]
},
"version":"0.1",
"permissions":[
"tabs",
"https://url.com/*"
]
}
背景:
function checkURL(){
var host = parseURL(tab.url).host;
if (host.indexOf("url.com") >= 0) {
chrome.pageAction.show(tabId);
}
}
chrome.tabs.onUpdated.addListener(checkURL);
但是当我把它添加到开发扩展页面时。它不会在任何地方出现。我本来打算把它作为一个浏览器操作,但自从把它作为一个页面操作使用以来,它做得更多了,因为它只针对一个网站
有人能解释一下我可能做错了什么吗?您的代码存在以下问题:
checkURL
中使用的变量tab
,没有定义parseURL
也没有定义(它不是您似乎认为的内置函数)onUpdated
事件,查找状态:“complete'
,因为在单个选项卡更新期间会触发多个onUpdated
事件
因此,用以下代码替换background.js代码:
var hostRegex = /^[^:]+:\/\/[^\/]*url.com/i;
function checkURL(tabId, info, tab) {
if (info.status === "complete") {
if (hostRegex.test(tab.url)) {
chrome.pageAction.show(tabId);
}
}
}
chrome.tabs.onUpdated.addListener(checkURL);
1.您需要在
checkURL
的定义中指定tab
:checkURL(
**tab
**)
2。哪里定义了parseURL
?我从一个教程中得到这个。。。所以它没有定义,我想可能是一个chrome*api之类的东西