我的background.js无法识别正在打开的选项卡

问题描述 投票:0回答:1

我正在编写一个 chrome 扩展来获取 Spotify 上当前播放的歌曲的歌词。打开选项卡时,background.js 文件无法识别。

console.log("Hi");

chrome.action.onClicked.addListener((tab) => {
  console.log("Hello"); <---------- This is not logging.
  chrome.scripting.executeScript({
    target: { tabId: tab.id },
    function: findTitleAndFetchLyrics,
  });
});

function findTitleAndFetchLyrics() {
  const element = document.querySelector(".eSMjmiD29Ox35O95waw6");
  if (element) {
    const trackName = element.getAttribute("title");
    if (trackName) {
      fetch(`https://lyrist.vercel.app/api/${encodeURIComponent(trackName)}`)
        .then((response) => response.json())
        .then((data) => {
          chrome.runtime.sendMessage({ lyrics: data.lyrics });
        })
        .catch((error) => {
          console.error("Error fetching lyrics:", error);
        });
    } else {
      console.error("No title attribute found for the element.");
    }
  } else {
    console.error("Element not found.");
  }
}
javascript google-chrome-extension web-extension
1个回答
0
投票

尝试使用 chrome.tabs.onActivated.addListener 或其他选项卡事件而不是操作事件。

© www.soinside.com 2019 - 2024. All rights reserved.