http://beta.billboard.fm上的我的应用程序在播放一首歌后,在我的正常浏览会话中产生错误.
如果我以隐身方式重新加载页面,该应用程序将完全正常运行.我最近才开始遇到这些问题.我已经完成清除了所有缓存并且它再次工作,但只是在抛出相同的错误之前暂时.
此外,我已禁用所有浏览器扩展.
但是,无论我做什么,我都无法通过Youtube API抛出此错误:
无法将消息发布到http://www.youtube.com.收件人来源https://www.youtube.com
看起来安全协议存在不匹配.我尝试将它们更改为https或只是删除"http:"一起在我身边.但它没有解决问题.
任何人都知道这里发生了什么?
javascript youtube youtube-api youtube-javascript-api youtube-data-api
这段代码在DESKTOP浏览器中很有效(代码由@ Rob-W提供),点击缩略图,相邻的视频将开始播放,使用YouTube的API.
HTML
<div id="tabs2">
<div>
<img class='thumb' src='http://i2.cdnds.net/11/34/odd_alan_partridge_bio_cover.jpg'>
<iframe id="frame1" width="640" height="390" frameborder="0" title="YouTube video player"type="text/html"src="http://www.youtube.com/embed/u1zgFlCw8Aw?enablejsapi=1"></iframe>
</div>
<div>
<img class='thumb' src='http://i2.cdnds.net/11/34/odd_alan_partridge_bio_cover.jpg'>
<iframe id="frame2" width="640" height="390" frameborder="0" title="YouTube video player"type="text/html"src="http://www.youtube.com/embed/u1zgFlCw8Aw?enablejsapi=1"></iframe>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS
#tabs2 div {
position: relative;
}
/* For security reasons, an element cannor be placed over a frame */
/*.thumb {
position: absolute;
}*/
.play {
border: 3px solid red;
}
Run Code Online (Sandbox Code Playgroud)
JS
function getFrameID(id) {
var elem = document.getElementById(id);
if (elem) {
if (/^iframe$/i.test(elem.tagName)) return id; //Frame, …Run Code Online (Sandbox Code Playgroud)