如何在Chrome扩展中获取当前标签标题?

0qx6xfy6  于 2022-12-06  发布在  Go
关注(0)|答案(1)|浏览(299)

我尝试在弹出窗口中显示当前选项卡的标题。
我已经在JSON文件中写入了选项卡权限:

{
    "name": "Price Comparing Tool",
    "version": "0.1.0",
    "description": "Immediate notification on potential savings!",
    "permissions": ["tabs"],
    "background": {
      "service_worker": "script.js"
    },

我使用的代码来自Chrome扩展文档Here
此处为HTML行

<h3 id="grabedTitle"></h3>

这是我的TitleGrab的JS代码

var theTitle = async function getCurrentTab() {
    let queryOptions = { active: true, lastFocusedWindow: true };
    // `tab` will either be a `tabs.Tab` instance or `undefined`.
    let [tab] = await chrome.tabs.query(queryOptions);
    return tab;
  }

document.getElementById("grabedTitle").innerHTML = theTitle;

很明显,这不起作用。弹出窗口中没有写入任何内容,但为什么?我如何修复它?
我努力实现的目标:
打印当前标签的标题,总是,当我切换标签,重新加载并再次获得当前标题。(可能我需要一个Eventlistener,我如何实现它?)

svmlkihl

svmlkihl1#

变更

document.getElementById("grabedTitle").innerHTML = theTitle;

至:

document.getElementById("grabedTitle").innerHTML = (await theTitle()).title;

而且,很明显,将您的函数重命名为反映它返回的是一个选项卡而不是标题的内容。

相关问题