我想使用Chrome扩展程序以及加载标签页以显示tab.id时创建一个新标签页。页面已加载,但回调函数不起作用(现在显示tab.id警报)。

background.js文件:

chrome.tabs.create({'url': 'http://www.google.com'}, function(tab){ alert(tab.id) })


manifest.json文件:

 {
     "name": "Test",
     "version": "1.0",
     "description": "Test plugin",
     "browser_action": {
         "default_popup": "popup.html",
         "default_icon":"icon.png"
     },
     "background": {
         "scripts": ["background.js"]
     },
     "manifest_version":2,
     "permissions": [
          "tabs",
          "http://*.facebook.com/*",
          "http://*.google.com/*",
          "storage"
     ]
}


popup.html文件:

<html>
  <head>
    <title>Test tabs</title>
  </head>
  <body>
    <script type="text/javascript" src=/background.js"></script>
  </body>
</html>


有什么问题吗?

最佳答案

您的代码必须位于background pages中。

这是在manifest.json文件中:

"background" : {"scripts" : ["background_script.js"] }


要么

"background" : {"page" : "background_page.html" }


当您引用后台页面内的文件时,您需要使用绝对路径:

<script type="text/javascript" src="/background.js"></script>

关于javascript - chrome.tabs.create-从未调用过的回调函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22822193/

10-11 06:24