Jquery IE9&x2B;jwplayer:\uuuuu flash\uuuuuu addCallback错误,如果在调用player.load()之前在dom中移动player

Jquery IE9&x2B;jwplayer:\uuuuu flash\uuuuuu addCallback错误,如果在调用player.load()之前在dom中移动player,jquery,flash,internet-explorer,media-player,jwplayer,Jquery,Flash,Internet Explorer,Media Player,Jwplayer,更新: 这个问题的前提被证明是错误的。除非移动是对用户单击的响应,否则问题不会发生。请看 几天来,我的头一直在撞一只虫子,希望有人能帮我 我有一个jquery脚本,它使用。例如,要用特定视频加载myplayer,我调用: myplayer.load('my_url'); 这在firefox和internet explorer中都很好,只要我不首先将播放器移动到DOM中的其他位置 但是,在调用myplayer.load()之前,我的脚本有时会将播放器从位置A移到位置B,然后再移回位置A。这在f

更新: 这个问题的前提被证明是错误的。除非移动是对用户单击的响应,否则问题不会发生。请看


几天来,我的头一直在撞一只虫子,希望有人能帮我

我有一个jquery脚本,它使用。例如,要用特定视频加载myplayer,我调用:

myplayer.load('my_url');
这在firefox和internet explorer中都很好,只要我不首先将播放器移动到DOM中的其他位置

但是,在调用
myplayer.load()
之前,我的脚本有时会将播放器从位置A移到位置B,然后再移回位置A。这在firefox中运行良好。但在internet explorer 9中,我在这一行上遇到了一个错误:

return eval(instance.CallFunction("<invoke name=\""+name+"\" returntype=\"javascript\">" + __flash__argumentsToXML(arguments,0) + "</invoke>"));
当播放器未被使用时,我将其包装器div移动到固定笔:

var el = $('#myplayer_wrapper');            
$('#holding-pen').append(el);
将播放器的包装器div移动到画笔后,html现在看起来像:

<div id='stage'></div>
<div id='holding-pen'>
    <div id='myplayer_wrapper'>
        <object id='myplayer'>...</object>
    </div>
</div>
将播放器的包装器div移动到stage div后,html看起来与最初一样:

<div id='stage'>
    <div id='myplayer_wrapper'>
        <object id='myplayer'>...</object>
    </div>
</div>
<div id='holding-pen'></div>

...
在页面加载时,我创建播放器对象并将其移动到手持笔。然后我把它移到舞台上,加载一段视频

例如,如果用户单击图像缩略图,我会将视频播放器移动到手持笔,并将所选图像移动到舞台上

如果用户单击视频缩略图,我将从手持笔中检索视频播放器并将其移回舞台。然后,我将所选视频加载到播放器中。这就是internet explorer中出现“\u flash\u addCallback”问题的地方

有人对可能发生的事情有任何见解吗?或者,对于如何在internet explorer中使用此功能,有何建议


多谢各位

这似乎是IE(6、7、8和9)在web上的各种帖子中存在的一个已知问题。它取决于
Flash
版本和
IE
版本的组合

IE
似乎对媒体播放器所说的话保留了一些方法:

  • 停止
  • 停顿
  • 长度
…而
\uuuu flash\uuuu addCallback()
函数似乎使用了相同的单词<代码>播放和
停止
Flash
电影的重要组成部分,并在播放或停止时进行口述。我无法确认较新版本的
Flash
是否对此进行了修改

支持这一点的资料来源:

一个有趣的转折:

一些人建议使用Soundcloud来解决浏览器的问题,比如这个问题,其他人则关注Soundcloud修复播放器的方式——尽管这让任何一线希望都破灭了

归根结底,问题在于
Flash
如何期望
JavaScript
与其自身通信,这与
IE
中的保留方法相冲突。您可能必须:

  • 更新您的jwplayer
  • 在jwplayer的bug跟踪器上创建问题
  • 自己解决这个问题吧
帮助我解决许多IE问题的方法是将DOCTYPE更改为
。简单而有效。请注意,
IE7
更喜欢DOCTYPE这个词是大写的。每当我尝试这个,我就知道我已经变成了一个绝望的僵尸P

最后但并非最不重要的一点是,请确保关闭以下最后一个报价:

$('#stage).append(el);

可能是相关的:你能创造一把小提琴来演示这个问题吗?此外,问题顶部的更新链接不可用。。。。。此链接不起作用,我已用此。。。。你找到解决办法了吗?我收到了和你完全相同的信息,因此得到了赏金。当您播放第一个视频,然后使用左侧的缩略图转到下一个视频,然后播放第二个视频时,就会出现问题。更新了我的答案,希望有帮助+1.它看起来很有用。我将尝试安装一个虚拟机,以便测试它。@greg0ire尝试来自的图像,它们是最好的图像。;)是的,虚拟机图像可能大得离谱。。。上一次我检查了IE7-10中的所有图像,它们的总容量超过18GB。我使用的是moder.ie的源代码,但我缺少磁盘空间。。。我想要等到星期一。
var el = $('#myplayer_wrapper');            
$('#stage).append(el);
<div id='stage'>
    <div id='myplayer_wrapper'>
        <object id='myplayer'>...</object>
    </div>
</div>
<div id='holding-pen'></div>
$('#stage).append(el);