gpt4 book ai didi

javascript - 隐藏的 youtube 播放器失去了它的方法

转载 作者:搜寻专家 更新时间:2023-11-01 04:43:06 26 4
gpt4 key购买 nike

我正在使用 javascript 控制一个嵌入式 youtube chromeless 播放器,我想偶尔通过设置 display: none 来隐藏它。然而,当我再次向播放器展示时,它失去了它的 youtube 方法。

例如:

<script>
swfobject.embedSWF("http://www.youtube.com/apiplayer?enablejsapi=1&playerapiid=player",
"player", "425", "356", "8", null, null,
{allowScriptAccess: "always"}, {id: 'player'}
);

var player = null;

function onYouTubePlayerReady(playerId) {
player = document.getElementById(playerId);
player.addEventListener('onStateChange', 'playerStateChanged');
}

function hidePlayer() {
player.pauseVideo();
player.style.display = 'none';
}
function showPlayer() {
player.style.display = 'block';
player.playVideo();
}
</script>
<a href="#" onClick="hidePlayer();">hide</a>
<a href="#" onClick="showPlayer();">show</a>
<div id="player"></div>

先调用 hidePlayer 再调用 showPlayer 会在 playVideo 调用中出现此错误:

Uncaught TypeError: Object #<an HTMLObjectElement> has no method 'playVideo'

我能找到的唯一解决方案是使用 visibility: hidden,但这会扰乱我的页面布局。还有其他解决方案吗?

最佳答案

我的用户脚本中也发生过这种情况。您可以尝试将其设为 1x1 像素,而不是将其完全隐藏。

这是一个非常烦人的问题,并且不明白为什么会发生这种情况。

关于javascript - 隐藏的 youtube 播放器失去了它的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2197868/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com