Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript不适用于chrome/opera/IE,但firefox非常出色!_Javascript_Cross Browser - Fatal编程技术网

javascript不适用于chrome/opera/IE,但firefox非常出色!

javascript不适用于chrome/opera/IE,但firefox非常出色!,javascript,cross-browser,Javascript,Cross Browser,我有这个代码,只在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&

我有这个代码,只在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>

函数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&');
}
请帮忙,我不知道,这是一个如此简单的脚本,为什么它不工作??
谢谢

您正在尝试动态更改
嵌入
元素中的视频源。这是出了名的棘手,事实上除了Firefox之外,其他浏览器都需要一个变通方法


这个问题似乎提供了一个解决方案:

您没有提供任何错误消息,因此很难说需要修复什么

我注意到的一件事是,“replace”方法使用了非标准语法


请参阅以获取解释和备选方案

在调用setVideo函数时,您可能应该使用类似swfobject()的东西来嵌入整个flash对象,而不仅仅是更改url。IE和chrome可能无法识别更改。

不要将setAttribute与value一起使用。这是众所周知的


这个代码应该做什么?什么不起作用?您会收到什么错误消息?…或者查看,所有JavaScript引擎都基于。对不起,在firefox以外的其他浏览器中,视频是空白的。。没有录像
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&";
}