【问题标题】:javascript not working in chrome/opera/IE but firefox is excellent!javascript 在 chrome/opera/IE 中不起作用,但 Firefox 非常好!
【发布时间】:2011-03-10 02:23:08
【问题描述】:

我有这个代码,只能在 Firefox 中工作。

 <script type="text/javascript">
    function setVideo(url){
        url = url.replace("watch?v=","v/","i");
        var movie = document.getElementById('movie');
        movie.setAttribute('src',url+"&hl=en&fs=1&");
        var param = document.getElementById('paramm');
        param.setAttribute('value',url+"&hl=en&fs=1&");
    }
</script>

<object width="425" height="344">
            <param name="movie" id="paramm"></param>
            <param name="allowFullScreen" value="true"></param>
            <param name="allowscriptaccess" value="always"></param>
            <embed id="movie" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344" src=""></embed>
        </object>

<a href="#" onclick="setVideo('http://www.youtube.com/watch?v=3h1qQaRxY40')">example</a>

请帮忙,我不知道,这么简单的脚本,为什么它不起作用? 谢谢

【问题讨论】:

  • 这段代码应该做什么?什么不起作用?您收到什么错误消息?

标签: javascript cross-browser


【解决方案1】:

不要将 setAttribute 与值一起使用。众所周知cause problems

function setVideo(url){
    url = url.replace("watch?v=","v/";
    var movie = document.getElementById('movie');
    movie.src = url+"&hl=en&fs=1&";
    var param = document.getElementById('paramm');
    param.value = url+"&hl=en&fs=1&";
}

【讨论】:

    【解决方案2】:

    您正在尝试动态更改 embed 元素中的视频源。这是出了名的棘手,实际上需要针对 Firefox 以外的浏览器的解决方法。

    这个问题似乎提供了一个解决方案:Dynamically change embedded video src in IE/Chrome (works in Firefox)

    【讨论】:

      【解决方案3】:

      当调用 setVideo 函数时,您可能应该使用类似 swfobject (http://code.google.com/p/swfobject) 来嵌入整个 flash 对象 - 不要只更改 url。 IE 和 chrome 可能无法识别更改。

      【讨论】:

        【解决方案4】:

        你没有提供任何错误信息,所以很难说需要修复什么......

        我注意到的一件事是您对“替换”方法使用了非标准语法。

        请参阅https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/String/replace 了解解释和替代方案

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-15
        • 1970-01-01
        • 1970-01-01
        • 2020-06-04
        • 1970-01-01
        相关资源
        最近更新 更多