【发布时间】:2015-03-11 02:19:18
【问题描述】:
我想在调整大小时停止 YouTube 播放
我有一个 iframe
<iframe id="tutube" class="youTubeVideo" frameborder="0" height="100%" width="100%" allowscriptaccess="always"
src="https://youtube.com/embed/d3cRXJ6Ww44?showinfo=0&autohide=1&enablejsapi=1">
</iframe>
还有一个函数
function stopTheVideo(){
var div = document.getElementById("tutube");
var iframe = div.getElementsByTagName("iframe")[0].contentWindow;
div.style.display = state == 'hide' ? 'none' : '';
func = state == 'hide' ? 'pauseVideo' : 'playVideo';
iframe.postMessage('{"event":"command","func":"' + func + '","args":""}', '*');
};
我称之为
<body onresize="stopTheVideo();"
我得到了
Uncaught TypeError: Cannot read property 'contentWindow' of undefinedindex10.html:198 toggleVideoindex10.html:206 resizeFunctionsindex10.html:31 onresize
有什么想法吗?
【问题讨论】:
-
好吧,如果我设置 var state = 'hide',它确实可以在 FF37 和 Chrome 41 上工作
-
我只是将它粘贴到一个新的 html 文件中,在 chrome、ff 和 safari 上进行了测试。不工作
-
Safari 7.1.3 对我来说也适用于小牛。没有抛出错误。注意我还添加了
<div id="tutube">。 -
啊,我给了iframe那个ID
-
不,它是它的容器,但如果它是页面中唯一的 iframe 元素,您可以通过
var iframe = document.getElementsByTagName("iframe")[0].contentWindow;访问它
标签: javascript iframe youtube onresize