Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Chrome扩展页面操作未显示在omnibar旁边_Javascript_Google Chrome_Google Chrome Extension - Fatal编程技术网

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之类的东西