首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >允许Youtube iframe显示与Youtube.com兼容的Chrome扩展

允许Youtube iframe显示与Youtube.com兼容的Chrome扩展
EN

Stack Overflow用户
提问于 2015-05-06 00:03:47
回答 2查看 525关注 0票数 1

我正在开发一个使用Youtube iframe API的网站,我希望在我的网站上的Youtube iframe中允许使用Chrome扩展(Musixmatch,这不是我自己开发的),用于安装了该扩展的用户,这样他们就可以在音乐视频上显示歌词。

我还不清楚我是否能够做到这一点--这是Musixmatch必须允许的事情,还是我真的可以做一些事情?这个问题并不是特定于Musixmatch扩展的。似乎一些Chrome扩展是由Youtube iframe API自动调用的,所以我想也许可以调用特定的扩展。

我很难在互联网上找到关于这方面的信息。我认为这篇文章提到了同样的问题,但从Chrome扩展开发者的角度来看:https://stackoverflow.com/questions/27739727/how-to-make-chrome-extension-work-in-iframe。这里有一篇关于Youtube API触发一个特定的Chrome扩展的文章:Chrome YouTube cast_sender.js console error

任何帮助或见解都将不胜感激!

EN

回答 2

Stack Overflow用户

发布于 2015-05-07 01:36:52

我不认为你可以这样做,因为扩展自己决定何时注入他们的代码,而不是相反。YouTube通常不会“调用”任何扩展,Chromecast是一个例外--但它是由谷歌提供的,YT希望如此。

例如,对于YouTube,此逻辑可能包含在扩展清单中指定的匹配模式中。如果不更改清单,您就无法“说服”Chrome将其注入到其他地方。

或者,检查可以是代码中的运行时检查。同样,在不改变这一点的情况下,如果扩展不希望被注入到YT的嵌入页面中,它将不会被注入。

票数 0
EN

Stack Overflow用户

发布于 2015-05-06 00:21:09

我不是100%清楚你的问题的范围。如果您询问扩展是否可以访问iframe的DOM,那么答案是否定的-- CSP模型非常明确地禁止这样做。您可以从扩展中对iframe执行postMessage (就像在页面本身中一样……使用contentWindow对象),但使用postMessage仍然只能触发公开的方法,并且已经可以通过YouTube iframe API使用它们。

如果你的问题是关于能够听到iframe API事件并通过iframe API控制播放器,那么是的…这是可能的。您需要将一个脚本注入到页面中,该脚本可以监听事件并触发API方法,然后这个注入的脚本可以与您的后台页面对话,以完成您的扩展需要做的其他事情。关于如何做到这一点,有几个问题……这是最近的一条:

Youtube player API in Chrome extension

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30057986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档