Javascript 通过显式控制播放youtube视频

Javascript 通过显式控制播放youtube视频,javascript,html,Javascript,Html,我试图在一个html页面中播放youtube视频,其中有一个自定义的播放按钮,如 HTML 代码在JSFIDLE中运行良好,但当我将相同的内容放入文本文件并执行时,视频不会播放。在这方面,请提前向我表示感谢。在代码中,您试图通过document.getElementById访问元素,这取决于您在哪里编写标记。Fiddle的脚本加载过程或位置可能与普通浏览器不同。根据您的代码,如果标记在之前,则它将不起作用,如果您将放在之后,则它将起作用 我修改了你的代码如下,我能够成功运行 <html&g

我试图在一个html页面中播放youtube视频,其中有一个自定义的播放按钮,如

HTML


代码在JSFIDLE中运行良好,但当我将相同的内容放入文本文件并执行时,视频不会播放。在这方面,请提前向我表示感谢。

在代码中,您试图通过
document.getElementById
访问元素,这取决于您在哪里编写
标记。Fiddle的脚本加载过程或位置可能与普通浏览器不同。根据您的代码,如果
标记在
之前,则它将不起作用,如果您将
放在
之后,则它将起作用

我修改了你的代码如下,我能够成功运行

<html>
<head>
    <script type="text/javascript">
    function init() {
        var yt = document.getElementById("yt");

        document.getElementById('btn').onclick = play;
    }

    function play() {
        yt.playVideo();            
    }

    </script>
</head>
<body onload="init()">

<button id="btn">Play</button>

<object type="application/x-shockwave-flash" id="yt" 
    data="http://www.youtube.com/v/6eK-W32IME0?fs=1&amp;enablejsapi=1&amp;hl=en_US" 
    width="330" height="200">
    <param name="allowScriptAccess" value="always"/>
</object>

</body>
</html>

函数init(){
var yt=document.getElementById(“yt”);
document.getElementById('btn')。onclick=play;
}
函数播放(){
yt.playVideo();
}
玩

由于SOP原因,页面必须通过http协议加载,如果作为文件协议加载,浏览器将不允许访问播放器

指向JSFIDLE的链接?抱歉,我无法将上述链接设置为可单击。文本文件是什么意思?它是HTML页面吗?是的,我将所有代码都放在HTML文件中。但显式播放按钮不工作自定义播放按钮不工作,点击按钮视频不播放我在chrome浏览器中尝试了相同的代码,发现它工作正常。你能检查开发者控制台是否有任何错误或异常吗?我希望你正在尝试通过启动页面,正如你所知,如果你以文件的形式打开它:/,那么它将不允许你播放。Object#没有方法“playVideo”这是chrome中显示的eror和TypeError:yt.playVideo不是一个函数Firefoxya中的错误它现在正在工作,对不起,我现在还没有使用本地主机。谢谢你的回答
var yt = document.getElementById("yt");

document.getElementById('btn').onclick = play;

function play() {
    yt.playVideo();            
}
<html>
<head>
    <script type="text/javascript">
    function init() {
        var yt = document.getElementById("yt");

        document.getElementById('btn').onclick = play;
    }

    function play() {
        yt.playVideo();            
    }

    </script>
</head>
<body onload="init()">

<button id="btn">Play</button>

<object type="application/x-shockwave-flash" id="yt" 
    data="http://www.youtube.com/v/6eK-W32IME0?fs=1&amp;enablejsapi=1&amp;hl=en_US" 
    width="330" height="200">
    <param name="allowScriptAccess" value="always"/>
</object>

</body>
</html>