相关疑难解决方法(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万
查看次数

Javascript/DOM:如何删除DOM对象的所有事件?

只是提问:有没有办法彻底删除对象的所有事件,例如div?

编辑:我正在添加div.addEventListener('click',eventReturner(),false);一个事件.

function eventReturner() {
    return function() {
        dosomething();
    };
}
Run Code Online (Sandbox Code Playgroud)

EDIT2:我找到了一种方法,但是不能用于我的情况:

var returnedFunction;
function addit() {
    var div = document.getElementById('div');
    returnedFunction = eventReturner();
    div.addEventListener('click',returnedFunction,false); //You HAVE to take here a var and not the direct call to eventReturner(), because the function address must be the same, and it would change, if the function was called again.
}
function removeit() {
    var div = document.getElementById('div');
    div.removeEventListener('click',returnedFunction,false);
}
Run Code Online (Sandbox Code Playgroud)

javascript events dom

73
推荐指数
7
解决办法
9万
查看次数

谷歌Chrome"应用程序快捷方式":如何自动加载JavaScript?

简介
Google Chrome具有一项功能,允许您创建网页快捷方式,使其看起来像传统的桌面应用程序.

例如,推特移动设备的快捷方式可能是

C:\Users\<username>\AppData\Local\Google\Chrome\Application\chrome.exe  --app=https://mobile.twitter.com/
Run Code Online (Sandbox Code Playgroud)

此应用程序的文件图标存储在

C:\Users\<username>\AppData\Local\Google\Chrome\User Data\Default\Web Applications\mobile.twitter.com\https_80
Run Code Online (Sandbox Code Playgroud)

我的问题
自从我使用此功能以来已经有一段时间了,我似乎记得您可以将自己的JavaScript文件添加到app文件夹中,该文件夹在加载应用程序时包含在内.但是,我找不到任何讨论此功能的文档,但我99%确定它存在.

如果此功能可用以及我需要创建哪些文件,是否有人有任何详细信息?

澄清

我基本上是使用Chrome的"应用程序快捷方式"打开一个网页,我希望这个网页每隔x秒刷新一次.但是,我无法控制此网页.

我确信在旧版本的Chrome中,这曾经是可能的......除非我生气.

javascript google-chrome web-applications google-chrome-extension

29
推荐指数
1
解决办法
2万
查看次数