我在WordPress插件中使用plupload来处理将图像上传到我的在线商店中的产品。除了IE8之外,它的工作正常,可能还有其他一些早于11的版本。
使用IE8开发人员工具我能够查明此代码的错误:
function __flash__addCallback(instance, name) {
instance[name] = function () {
return eval(instance.CallFunction(“” + __flash__argumentsToXML(arguments,0) + “”));
}
}
我收集的意味着Flash和javascript之间相互通信存在一些问题。谷歌搜索后,一些可能的原因包括: 1.使用诸如播放,停止,暂停等保留字命名swf呼叫。我不认为这是这种情况。 2. CSS规则隐藏了plupload试图调用的容器。我认为这不是我的问题,但也没有最终确定。 3.没有正确实例化或清理plupload对象。我认为这是错误可能存在的地方,但我不确定如何确认或解决它。
您可以看到问题的网址是http://mpp.jebwebsolutions.com.au/product/a5-custom-jigsaw-puzzle/。使用IE8,尝试上传照片,将其添加到购物车,继续购物,然后上传另一张照片。需要安装Flash,并且是在我的测试环境中。
感谢您的帮助!
答案 0 :(得分:0)
经过多次挫折之后,我终于设法解决了这个问题。我在IE SCRIPT16389 Error with Flash ExternalInterface Callback and JQuery Slider找到了帮助我的线索。
我最终做的就是在.swf文件中添加'no_cache'查询参数,该文件加载Flash功能以阻止IE缓存(其他浏览器主要使用HTML5运行时),如下所示:
flash_swf_url : '<?php echo $this -> plugin_meta['url']?>/js/uploader/Moxie.swf?no_cache=<?php echo rand();?>',
现在它在IE8中始终如一! :)