Youtube API 嵌入静音视频不执行 javascript - 为什么它在 jsfiddle 上工作而不在 html 文件中工作?
Youtube API embed muted video doesn't execute javascript - Why it work on jsfiddle and not in a html file?
我尝试在网站上嵌入 YouTube 视频并将其静音。
我已经找到这个主题了:How do you mute an embedded Youtube player?
所以我已经尝试了答案并且有效:https://jsfiddle.net/Jonathan_Ironman/BFDKS/9/
但是当我在 jsfiddle 之外尝试相同的代码时,javascipt 代码不再执行。
源代码
<html>
<head>
<script type="text/javascript">
var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubeIframeAPIReady()
{
player = new YT.Player('ytplayer',
{
events:
{
'onReady': onPlayerReady
}
});
}
function onPlayerReady()
{
player.playVideo();
// Mute!
player.mute();
}
</script>
<iframe id="ytplayer" type="text/html" style="position:absolute; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:0;" src="https://www.youtube-nocookie.com/embed/DjxwLr6TjHs?playlist=DjxwLr6TjHs&enablejsapi=1&border=0&start=60&autoplay=1&showinfo=0&controls=0&disablekb=1&cc_load_policy=1&iv_load_policy=3&rel=0&loop=1" frameborder="0"></iframe>
</head>
<body>
</body>
</html>
有什么想法吗?
让你的第一行js看起来像这样(复制粘贴)
tag.src = "http://www.youtube.com/iframe_api";
否则(local)会指向一个文件..
也许您只是添加一个控制台输出来检查 api 是否正确加载:)
我尝试在网站上嵌入 YouTube 视频并将其静音。
我已经找到这个主题了:How do you mute an embedded Youtube player?
所以我已经尝试了答案并且有效:https://jsfiddle.net/Jonathan_Ironman/BFDKS/9/
但是当我在 jsfiddle 之外尝试相同的代码时,javascipt 代码不再执行。
源代码
<html>
<head>
<script type="text/javascript">
var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubeIframeAPIReady()
{
player = new YT.Player('ytplayer',
{
events:
{
'onReady': onPlayerReady
}
});
}
function onPlayerReady()
{
player.playVideo();
// Mute!
player.mute();
}
</script>
<iframe id="ytplayer" type="text/html" style="position:absolute; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:0;" src="https://www.youtube-nocookie.com/embed/DjxwLr6TjHs?playlist=DjxwLr6TjHs&enablejsapi=1&border=0&start=60&autoplay=1&showinfo=0&controls=0&disablekb=1&cc_load_policy=1&iv_load_policy=3&rel=0&loop=1" frameborder="0"></iframe>
</head>
<body>
</body>
</html>
有什么想法吗?
让你的第一行js看起来像这样(复制粘贴)
tag.src = "http://www.youtube.com/iframe_api";
否则(local)会指向一个文件..
也许您只是添加一个控制台输出来检查 api 是否正确加载:)