Gab*_*ter 5 javascript google-chrome-extension youtube-iframe-api
我正在撰写Chrome扩展程序,我希望在用户访问youtube.com观看视频时检测视频何时开始/结束.我的情况和我读过的其他教程之间的区别是我没有在我自己的网站上嵌入我自己的YouTube视频,我只想检测用户在youtube上观看的视频中的事件.
现在,我的manifest.json文件包含以下内容脚本行:
"content_scripts": [
{
"matches": ["http://*/*","https://*/*"],
"js": ["js/jquery.js", "js/iframe_api.js", "js/contentScript.js"],
"all_frames": true
}
],
Run Code Online (Sandbox Code Playgroud)
我已下载jquery,iframe_api.js是https://www.youtube.com/iframe_api的内容.我的contentScript.js文件非常简单,我只想在视频准备就绪时将某些内容打印到控制台:
function onYouTubeIframeAPIReady() {
var player;
player = new YT.Player('ytplayer', {
events: {
'onReady': onPlayerReady,
}
});
}
function onPlayerReady(event) {
console.log('It worked!');
}
Run Code Online (Sandbox Code Playgroud)
有人可以帮帮我吗?内容脚本甚至可以这样做,还是我不能访问youtube视频的iframe,因为它不在内容脚本所在的"隔离环境"中?
在我发布这个问题后不久,我找到了答案。不使用 youtube iframe api,而是使用 html5 api。我将内容脚本修改为以下内容,以便在视频结束时打印一条消息,并且效果很好。
var vid = $('video').get(0);
vid.addEventListener('ended', function(e) {
console.log('The video ended!');
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1175 次 |
最近记录: |