首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >javascript不能在chrome/opera/IE中工作,但是firefox很棒!

javascript不能在chrome/opera/IE中工作,但是firefox很棒!
EN

Stack Overflow用户
提问于 2010-06-30 19:46:16
回答 4查看 959关注 0票数 0

我有这段代码,只能在firefox中运行。

代码语言:javascript
运行
复制
 <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>

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-06-30 19:50:49

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

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

票数 6
EN

Stack Overflow用户

发布于 2010-06-30 19:53:28

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

有一件事我确实注意到了,就是你使用了非标准的语法来代替"replace“方法。

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

票数 3
EN

Stack Overflow用户

发布于 2010-06-30 19:57:13

当setVideo函数被调用时,你可能应该使用类似swfobject (http://code.google.com/p/swfobject)的东西来嵌入整个flash对象,而不是仅仅改变url。IE和chrome可能没有意识到这一变化。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3148898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档