我正在学习如何创建Chrome扩展程序。我刚刚开始开发一个捕捉YouTube事件的工具。我想将其与YouTube Flash Player结合使用(稍后,我将尝试使其与HTML5兼容)。
manifest.json:
{
"name": "MyExtension",
"version": "1.0",
"description": "Gotta catch Youtube events!",
"permissions": ["tabs", "http://*/*"],
"content_scripts" : [{
"matches" : [ "www.youtube.com/*"],
"js" : ["myScript.js"]
}]
}
myScript.js:
function state() { console.log("State Changed!"); }
var player = document.getElementById("movie_player");
player.addEventListener("onStateChange", "state");
console.log("Started!");
问题在于控制台为我提供了“开始!” ,但没有“状态已更改!” 当我播放/暂停YouTube视频时。
将此代码放入控制台后,它就可以工作了。我究竟做错了什么?
我还遇到了已加载脚本的排序问题,这是通过顺序加载脚本解决的。加载基于Rob W的答案。
用法示例为:
其实,我是JS的新手,所以随时向我介绍更好的方法。