获取选项卡ID或URL并使用getCurrent显示它

Rav*_*eja 4 javascript tabs google-chrome google-chrome-extension

这是我的内容script.js和background.html以及错误

contentscript.js

chrome.extension.sendRequest({"type":""}); 
Run Code Online (Sandbox Code Playgroud)

background.html

<script type="text/javascript" charset="utf-8">

  chrome.extension.onRequest.addListener(
    function(request, sender, sendResponse) {
           chrome.tabs.getCurrent(function(tab){var urls = tab.url;console.log(urls);});  

  });     

</script> 
Run Code Online (Sandbox Code Playgroud)

background.html控制台上的错误消息

background.html:7 Uncaught TypeError:无法读取undefined的属性'url'

这应该是一个简单的改变,但我被卡住了.

Moh*_*our 5

你不能调用get getCurrent,因为你没有从选项卡上下文中调用它.文档说你也不能使用它.如果您的扩展程序创建了标签,则只能使用此选项.您想要获取其标签ID以使用它与扩展消息传递.背景页面没有标签.

获取此脚本调用的选项卡.如果从非选项卡上下文调用(例如:后台页面或弹出视图),则可能未定义.

如果您想获取当前标签ID,您可以使用chrome.tabs.getSelected它来获取其URL和ID.

  • 不推荐使用getSelected来代替getCurrent. (2认同)