2015-03-24 108 views
2

我正在使用Youtube Chrome扩展中的Youtube播放器API。
我的目标是能够使用pageAction的弹出框从我的内容脚本控制Youtube网站上的播放器控件。Chrome扩展中的Youtube播放器API

它是这样的 -
点击“播放”按钮,在弹出发送消息给内容的脚本,内容脚本接收消息并使用播放器API事件“的playVideo()”来播放视频。

由于内容脚本和页面本身是相互隔离的,我不能简单地从页面获取播放器的对象,并且从我理解的我不能使用消息从对象发送对象页面转到内容脚本。

现在,我可以通过使用HTML5视频事件绕过所有这些麻烦,但不幸的是,由于Flash仍在使用中,因此这不适用于直播视频流,所以我没有别的选择,只能加载和使用播放器API,我正确吗?
有没有办法在Youtube网站上使用URL参数控制玩家?
(我真的更喜欢加载一个额外的脚本和外部的一切)

谈到代码我想获得帮助设置需要能够加载外部脚本的权限。
我看到有需要在manifest文件中声明content_security_policy,但我不明白语法以及如何写下它,所以我希望有一个示例以及其他任何需要的内容。

在我的内容脚本我使用来自YouTube播放器API文档所采取的下一个代码注入脚本:

var tag = document.createElement('script'); 
tag.src = "https://www.youtube.com/iframe_api"; 
var firstScriptTag = document.getElementsByTagName('script')[0]; 
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 

function onYouTubeIframeAPIReady() { 
    console.log('--- The YT player API is ready from content script! ---'); 
} 
+0

YouTube视频的嵌入式iframe需要在URL中包含enablejsapi = 1。 YouTube未在其网站上使用iframe API,因此这不起作用。 – kel 2015-03-24 22:59:45

+0

@kel:你的意思是使用URL参数来控制播放器不会正常工作,因为当使用播放器API时它可以工作,你可以打开控制台并输入这个例如:'document.getElementById('movie_player ').playVideo()',你会发现它效果很好:)现在的问题是如何加载它在内容脚本中使用请。 – 2015-03-24 23:42:50

+0

谷歌关于如何在扩展(而不是内容脚本)上注入js。这使您可以访问玩家对象。 – 2015-03-25 04:32:37

回答

2

由于内容脚本无法访问页面JavaScript对象,因此在页面中插入一个脚本(官方文档解释如何)。该注入的脚本可以访问这些对象,然后可以使用消息传递或在dom上写入来与内容或弹出窗口进行通信。

+0

[http://stackoverflow.com/questions/29244379/youtube-player-api-in-chrome-extension/29256255#comment46706033_29244379](http://stackoverflow.com/questions/29244379/youtube-player-api-in - 铬 - 延伸/ 29256255#comment46706033_29244379) – 2015-03-25 13:35:40

-3

这应该被保存在manifest.json中

{ 
"manifest_version": 2, 

"name": "example", 
"description": "Lorem Ipsum dollar sit amet", 
"version": "0.0", 

"browser_action": { 
    "default_icon": "icon.png", 
    "default_popup": "popup.html" 
}, 
"permissions": [ 
    "activeTab", 
    "tabs", 
    "content_security_policy" 
] 
} 
+1

不正确。这不是许可。 – Xan 2015-03-24 23:02:58

+0

这是什么工作,它是由铬指定的布局也许“content_security_policy”可能是不正确的,但格式是。 – 2015-03-24 23:11:28

+0

https://developer.chrome。com/extensions/contentSecurityPolicy – Xan 2015-03-24 23:12:24

相关问题