此时我很难过。每次我在Internet Explorer 8中刷新页面时,下面的嵌入代码都会导致“Object Required”错误(可能还有其他版本的IE,但我没有随时可用于测试)。
它在其他浏览器中运行良好。
这么简单的代码:
<object width='425' height='344'>
<embed src='http://www.youtube.com/v/3kU1x9StavM?enablejsapi=1' type='application/x-shockwave-flash' width='425' height='344' allowscriptaccess='always' allowfullscreen='true'></embed>
</object>
即使它确实是页面上唯一的内容,也会出错。
有没有人有任何想法?我没有使用swfobject的选项,因为我将重写嵌入式标签以启用jsapi(我正在编写一个交互式的transcript插件,需要基本上加载自己并且不需要发布者的额外操作使用)。
答案 0 :(得分:1)
使用SWFObject嵌入绝对是一种正确的方法。我们在IE6 +中遇到了完全相同的问题,一旦使用swf对象嵌入视频,它就消失了。
答案 1 :(得分:0)
IE上的js api存在问题......其他人在这里谈到http://support.soundcloud.com/soundcloud/topics/sets_breaking_in_ie8 如果删除jsapi参数或将allowscriptaccess的值设置为sameDomain,或者永远不会错误消失,但您不能再使用API:(
答案 2 :(得分:0)
不幸的是,我无法深究这一点。这令人沮丧。
最终,IE在无序创建对象时将事件绑定到flash对象存在一些问题。
毕竟我最终只使用了swfobject.js。他们在某些我无法复制的地方工作。
答案 3 :(得分:0)
这是因为页面上的javascript调用卸载到不再存在的对象(视频嵌入)。下面的代码在页面卸载之前删除了嵌入,因此在IE8中没有更多错误:
Event.observe(window, 'beforeunload', function(){
var player = $("video-embed-element");
player.remove();
}, false);
我还强烈建议使用IF语句来围绕代码,该语句检查以确保浏览器是IE8,as described here