document.getelementsby是未定义的



我想创建我的第一个firefox-addon,所以我真的没有经验。我想创建一个插件,以修改youtube-website。

背景.js

    function editVideo() {
    document.getElementsByTagName("video")[0].playbackRate = 2;
    document.getElementById("movie_player").stopVideo();
    document.getElementById("movie_player").setPlaybackQuality('hd720');
    document.getElementById("movie_player").playVideo();
}
browser.browserAction.onClicked.addListener(editVideo);

subtest.json

{
  "description": "YouTube-Test",
  "manifest_version": 2,
  "name": "YouTube-Test",
  "version": "1.0",
  "background": {
    "scripts": ["background.js"]
  },
  "browser_action": {
    "default_icon": {
      "48": "icons/logo_48.png",
      "64": "icons/logo_64.png"
    }
  }
}

因此,如果我单击按钮,则播放应为2和质量720p。但是什么都没有发生!如果我将thoose命令直接键入控制台,则可以。

我总是会遇到此错误:

document.getElementsbytagname(...([0]是未定义的

或:

document.getElementById(...(为null

我将感谢您的帮助。

{
  "description": "YouTube-Test",
  "manifest_version": 2,
  "name": "YouTube-Test",
  "version": "1.0",
  "background": {
    "scripts": ["background.js"]
  },
  "content_scripts": [
      {
          "matches": ["https://www.youtube.com/*"],
          "js": ["runsOnWebPage.js"],
          "run_at": "document_idle"
      }
  ],
  "browser_action": {
    "default_icon": {
      "48": "icons/logo_48.png",
      "64": "icons/logo_64.png"
    }
  }
}

Content_Scripts中的JS文件现在应该在YouTube上运行,您可能需要添加更多"matches",因为此文件仅涵盖该特定链接,YouTube具有1000个不同的链接

相关内容

  • 没有找到相关文章

最新更新