DOM函数在控制台中工作,但在扩展中不工作,尽管等待加载

时间:2016-05-28 01:23:55

标签: javascript google-chrome-extension youtube

我正在编写一个扩展程序,以便在youtube视频中记住您的位置,并在以后自动恢复。如果我将它们粘贴到YouTube视频页面中,这两行非常有效:


var factory = d3.geom.quadtree()
  .extent([
    [0, 0],
    [width, height]
  ]);

但不是在他们使用Chrome扩展程序时。为了解释视频加载异步的可能性,我设置了整个页面加载的5秒超时。即使扩展程序同时在控制台上运行,扩展程序也会继续在第二行上抛出错误。

TypeError:document.getElementById(...)。getDuration不是函数(...)

该类型显示为“未定义”,因此由于某种原因,当通过扩展程序访问时,该功能在播放器上不存在。

1 个答案:

答案 0 :(得分:0)

您需要清单文件中的activeTab权限。

{
  "manifest_version": 2,
  "name": "Youtube Resume",
  "description": "This extension resumes a Youtube video where you left it off",
  "version": "1.0",
  "content_scripts":[
    {
      "matches": ["*://www.youtube.com/*"],
      "js": ["inject.js"]
    }
  ],
  "permissions": [
    "storage",
    "activeTab"
   ]
}