8

http://demo.swfupload.org/v250beta2/simpledemo/index.php似乎不再适用于 IE。有解决办法吗?

相反,我得到一个红十字,并且“按钮”不可点击。

我正在运行 IE 8。

4

3 回答 3

11

我可以重现在 Windows 7 上运行的 IE9 的问题,但只能在虚拟机上。无论如何,感谢这篇文章,我能够通过修补 swfupload.js (v2.2.0),在第 230 行左右的某个地方应用 quick'n'dirty 来解决问题。

SWFUpload.prototype.getFlashHTML = function () {
    // Flash Satay object syntax: http://www.alistapart.com/articles/flashsatay

    // ADD THESE LINES --> 
    var iefix = '';
    if(navigator.userAgent.search(/MSIE/) > -1){
        iefix = 'classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
    }

    // MODIFY THIS LINE: (add ' + iefix + ')
    return ['<object ' + iefix + ' id="', this.movieName, '" type="application/x-shockwave-flash" data="', this.settings.flash_url, '" width="', this.settings.button_width, '" height="', this.settings.button_height, '" class="swfupload">',
        '<param name="wmode" value="', this.settings.button_window_mode, '" />',
        ...

似乎一个非常相似的修复程序可能对 2.5.0 有所帮助。

编辑:对于某些启用了名为“VMware Adob​​e Flash Optimizer”的 IE 附加组件的 VM,此修复似乎还不够。出于某种原因,优化器会将 Flash 影片变成一个白框(如果您知道点击它,它实际上是可点击的)。

坏消息是,我发现无法在我的代码中检测或禁用优化器插件的存在。所以我不能确定用户是否真的看到了按钮或只看到一个白框。我没有找到好的解决方法,只在非 Flash 上传表单中添加了一个后备链接。

于 2012-04-18T12:31:27.857 回答
2

有问题的不只是你。它也在 swfuploader 网站上。看看:http ://demo.swfupload.org/v220/simpledemo/index.php

于 2010-08-30T17:43:06.157 回答
1

您可能有一个妨碍您的附加组件。尝试在“无附加组件”模式下运行 IE 8。来自http://support.microsoft.com/kb/936213

"方法 3:在“无加载项”模式下运行 Internet Explorer

某些网站使用 Internet Explorer 加载项(例如 ActiveX 控件和浏览器工具栏)来提供增强的浏览体验。如果加载项损坏或加载项与 Internet Explorer 冲突,则可能会出现错误。要确定错误是否由加载项引起,请在“无加载项”模式下运行 Internet Explorer。为此,请按照下列步骤操作:

  1. 单击开始,然后在开始搜索框中键入Internet Explorer 。
  2. 单击Internet Explorer(无加载项)。Internet Explorer 打开时没有加载项、工具栏或插件。
  3. 测试 Internet Explorer 以验证它是否正常工作。如果问题仍然存在,请尝试方法 4。

如果没有出现错误,则问题是由通常与 Internet Explorer 一起加载的加载项之一引起的。在这种情况下,请使用以下选项之一。

选项 1:重置 Internet Explorer

将 Internet Explorer 重置为其默认配置。此步骤还将禁用任何已安装的加载项、插件或工具栏。尽管此解决方案很快,但这也意味着,如果您以后想使用这些附加组件中的任何一个,则必须重新安装它们。要重置 Internet Explorer 设置,请使用方法 4。

选项 2:使用管理加载项工具确定是哪个加载项导致问题

使用 Internet Explorer 中的管理加载项工具单独禁用每个加载项以确定哪个加载项导致错误。为此,请按照下列步骤操作:

互联网浏览器 8

  1. 打开 Internet Explorer 8。
  2. 单击工具,然后单击管理加载项
  3. 显示下拉菜单中,选择所有加载项以显示计算机上安装的所有加载项。
  4. 对于此列表中的每个项目,选择加载项,然后在信息窗口中单击禁用。
  5. 禁用此列表中的所有项目后,单击确定
  6. 退出然后重新启动 Internet Explorer。
  7. 如果问题不再出现,请重复步骤 1 到 3。
  8. 单击启用单个加载项。
  9. 重复步骤 6 到 8,直到您确定哪个加载项导致错误发生。

在您使用此过程确定哪个加载项导致错误后,您可以禁用该加载项。或者,您可以卸载安装插件的软件。我们还建议您联系提供该插件的软件供应商,以获得更多故障排除和支持。”

于 2010-02-05T04:06:11.967 回答