Youtube不安全JavaScript尝试使用URL访问帧
现在我要问另一个问题,这次是关于youtube API的。 我正在使用以下代码获取youtube播放器:Youtube不安全JavaScript尝试使用URL访问帧,javascript,youtube,youtube-api,youtube-javascript-api,Javascript,Youtube,Youtube Api,Youtube Javascript Api,现在我要问另一个问题,这次是关于youtube API的。 我正在使用以下代码获取youtube播放器: <div id=\"youtubeVideoContainer\"></div><script type=\"text/javascript\"> //Load player api asynchronously. var tag = document.crea
<div id=\"youtubeVideoContainer\"></div><script type=\"text/javascript\">
//Load player api asynchronously.
var tag = document.createElement('script');
tag.src = \"//www.youtube.com/player_api\";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('youtubeVideoContainer', {
height : \"".$height."\",
width : \"".$width."\",
videoId : \"".$id."\",
playerVars : ".json_encode($this->playerParams)."
});
}
</script>
//异步加载播放器api。
var tag=document.createElement('script');
tag.src=\“//www.youtube.com/player\u api\”;
var firstScriptTag=document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(标记,firstScriptTag);
var播放器;
函数onYouTubePlayerAPIReady(){
player=新的YT.player('youtubeVideoContainer'{
高度:\“”.$height.\“,
宽度:\“”.$width.“\”,
videoId:\“”.$id.\”,
playerBars:“.json_encode($this->playerParams)。”
});
}
请不要介意\“,它是用PHP呈现的,所以它只是为了转义,而且视频正在播放,所以没有重大错误:)
让我恼火的是,每次我请求视频时,我都会在控制台中看到以下消息:
不安全的JavaScript试图使用URL访问帧
从带有URL的框架
.
域、协议和端口必须匹配
我想解决这个问题,这样我就看不到那个消息了。我知道这不是什么大事,但我现在想知道如何在我的网站上安装youtube播放器,而不看到上面的警告
希望你们能帮我
编辑:
这是输出:
<div id="YTcontainer_502513c7ebc1b"> </div>
<script type="text/javascript">
//Load player api asynchronously.
var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var YTplayer_502513c7eb834;
window.onYouTubeIframeAPIReady = function() {
YTplayer_502513c7eb834 = new YT.Player("YTcontainer_502513c7ebc1b", {
height : "200",
width : "200",
videoId : "2UJH9dCtp7w",
playerVars : {"autohide":1,"autoplay":1,"controls":0,"border":"","cc_load_policy":0,"color":"","color1":"","color2":"","disablekb":"","enablejsapi":"","egm":"","fs":"","hd":"","iv_load_policy":"","loop":"","modestbranding":1,"origin":"","playerapiid":"","playlist":"","rel":0,"showinfo":0,"showsearch":"","start":"","theme":"","version":3,"wmode":"opaque"}
});
}
if(window.YT){
onYouTubeIframeAPIReady();
}
</script>
//异步加载播放器api。
var tag=document.createElement('script');
tag.src=“//www.youtube.com/iframe_api”;
var firstScriptTag=document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(标记,firstScriptTag);
变量YTU 502513c7eb834;
window.onYouTubeIframeAPIReady=函数(){
YTplayer_50251C7EB834=新的YT.Player(“YTcontainer_50251C7EBC1B”{
高度:“200”,
宽度:“200”,
videoId:“2UJH9dCtp7w”,
PlayerBars:{“自动隐藏”:1,“自动播放”:1,“控件”:0,“边框”:“cc_加载策略”:0,“颜色”:“color1”:“disablekb”:“启用JSAPI”:“egm”:“fs”:“hd”:“iv_加载策略”:“循环”:“虚拟品牌”:1,“来源”:“PlayerApid”:“播放列表”:“rel”:“0”,“showinfo”:“showsearch”:“开始”:“主题”:“版本”:3,“wmode”:“:“不透明”}
});
}
如果(window.YT){
onYouTubeIframeAPIReady();
}
根本问题是
一旦解决了这个问题,使用YouTubeiframe
embed的页面上JavaScript控制台中的警告对于Chrome肯定会消失,我相信对于Safari也是如此。检查“使用旧的嵌入代码”
它将使用
标签嵌入视频请不要介意\,它是用PHP呈现的,所以它只是为了转义——所以给我们看看PHP的输出。是的,这很烦人。对此我没有其他解释,但youtube正在尝试跨源窗口访问漏洞,以防有人使用允许它们的浏览器。它发生在任何带有youtube嵌入视频的页面上……昆汀,我已经为你添加了输出,你链接到的bug细节自2009年以来一直处于活动状态。看起来谷歌Chromeboos在优先级列表附近没有它。