相关疑难解决方法(0)

使用内容脚本将代码插入页面上下文

我正在学习如何创建Chrome扩展程序.我刚开始开发一个来捕捉YouTube活动.我想将它与YouTube Flash播放器一起使用(稍后我将尝试使其与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"]
    }]
}
Run Code Online (Sandbox Code Playgroud)

myScript.js:

function state() { console.log("State Changed!"); }
var player = document.getElementById("movie_player");
player.addEventListener("onStateChange", "state");
console.log("Started!");
Run Code Online (Sandbox Code Playgroud)

问题是控制台给了我"开始!" ,但没有"状态改变!" 当我播放/暂停YouTube视频时.

将此代码放入控制台时,它可以正常工作.我究竟做错了什么?

javascript google-chrome youtube-api google-chrome-extension content-script

452
推荐指数
5
解决办法
24万
查看次数

YouTube上的浏览器导航未加载Chrome扩展程序

假设我有一个扩展程序,当你到达YouTube视频页面时加载.我注意到当使用Chrome按钮来回导航时,扩展程序很可能无法加载.

作为一个例子,我有2个文件,清单:

{
    "name": "back forth",
    "version": "0.1",
    "manifest_version": 2,
    "description": "back forth",
    "permissions": ["storage", "*://www.youtube.com/watch*"],
    "content_scripts": [
        {
            "matches": ["*://www.youtube.com/watch*"],
            "js": ["contentscript.js"]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

和内容

alert("loaded");
Run Code Online (Sandbox Code Playgroud)

在来回导航时,警报并不总是显示出来.我怎样才能克服这个问题,以便扩展每次加载?

youtube google-chrome-extension content-script

11
推荐指数
1
解决办法
4326
查看次数

当AJAX在不重新加载页面的情况下更改URL时,如何重新加载Greasemonkey脚本?

我有一个应用程序,我正在尝试为其创建Greasemonkey脚本.它利用大量的jQuery和AJAX动态加载内容.

我注意到,该URL 不会改变每个我打开一个新项目时,即使该网页不刷新.

我是否可以在页面上放置一个监听器,以便每次URL更改时重新启动脚本?

javascript ajax greasemonkey

8
推荐指数
2
解决办法
4553
查看次数