不同的加载脚本与greasemonkey给出不同的行为在youtube
different onload script with greasemonkey give different behaviour in youtube
我有一个简单的脚本,创建一个跨度的页面与一些信息采取的flash播放器API。我试了三种方法:
1)如果我把脚本没有onload或带:(function(){…代码…}) ();
这不能正确加载我的所有代码,特别是播放器信息部分:
var spanSound=document.createElement('span');
Fls_div.appendChild(spanSound);
spanSound.appendChild(document.createTextNode(" audioLev:")); // --OK--
var player = window.document.getElementById('movie_player');
var spanQual= document.createElement('span');
spanQual.appendChild(document.createTextNode("-->" + player.getPlaybackQuality() )); // --NO--
但是youtube上所有的评论都被加载了。
2)我把所有的代码放入:
window.onload = function(){ ...code here... }
这确实加载我所有的代码正确,但它不加载youtube的评论…
最后我试了:
window.addEventListener("load", function(e) { ...code here... }, false);
加载所有正确的代码和注释。
为什么有这3种不同的行为(尤其是2)?
1 -代码在加载任何其他内容之前运行。当你尝试文档之类的东西时。getElementById,元素还不存在,所以你的代码找不到它。
2 -你在换窗户。onload函数。看起来页面已经有一个onload函数(负责加载评论…?),当你给它赋值另一个函数时,第一个函数将被替换,不再运行。
3 -您正在添加事件侦听器。在一个页面中可以有多个事件侦听器,当事件发生时,所有的事件侦听器都将执行(与窗口侦听器相比)。
相关文章:
- 有可能过滤来自嵌入式YouTube的声音吗
- 是否可以使用iframe API在iOS浏览器上播放youtube视频
- html5视频中的Youtube类型注释
- 用Greasemonkey编辑专栏
- 链接和youtube的Javascript和regex
- YouTube作为弹出窗口在桌面版本上播放,但不在移动设备上播放
- 使用javascript将视频从我的android应用程序上传到youtube
- internet explorer 8兼容模式下的Youtube api错误
- 如何用低音量自动启动Youtube视频(iframe)
- 可以't从Youtube IFrame更改焦点
- 使用HTML5播放器时使用Javascript更改Youtube视频
- 如何将GreaseMonkey中的XMLHttpRequest延迟到目标页面加载完成
- 可以't根据设备自动调整youtube播放器的大小
- Youtube JavaScript API不是't正在初始化
- 我该如何组合这两个Greasemonkey脚本
- 有没有办法在dailymotion播放器的新测试版中播放youtube视频
- GreaseMonkey + Youtube + .click()
- 用于更改YouTube页面的Greasemonkey脚本无法正常工作
- 如何使用Greasemonkey调用现有视频的Youtube-Flash-API
- 不同的加载脚本与greasemonkey给出不同的行为在youtube