经过一整天的网上搜索,我没有找到解决问题的办法。

我在使用swfObject加载网页中的swf文件时遇到问题,在IE11中不起作用(在ie8-10,firefox和chrome中可以正常工作)

这是我的上下文:
这是通过swfObject发送到IE的参数的初始化
`

// For version detection
var swfVersionStr = "10.0.0";

// To use express install, set to playerProductInstall.swf
var xiSwfUrlStr = "commun/swf/playerProductInstall.swf";

//FlashVars : contains an url used for an http request that returns  the crossdomain.xml file with the crossDomainPolicy...
var flashvars = {
    crossdomainURL : httpOrigin + "the.url.to.crossdomain.policy.file"
};

var params = {};
params.quality = "high";
params.bgcolor = "white";
params.allowscriptaccess = "sameDomain";
params.allowfullscreen = "true";
var attributes = {};
attributes.id = "dematMultiuploader";
attributes.name = "dematMultiuploader";
attributes.align = "middle";
swfobject.embedSWF(
    "the/url/to/SWFfile.swf", "falshContentID",
    "550", "280",
    swfVersionStr, xiSwfUrlStr,
    flashvars, params, attributes);


`
这是我的对象标签

<noscript>
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="550" height="280"     id="dematMultiuploader">
        <param name="movie" value="path/to/swf/file.swf" />
        <param name="quality" value="high" />
        <param name="bgcolor" value="white" />
        <param name="allowScriptAccess" value="sameDomain" />
        <param name="allowFullScreen" value="true" />
        <!--[if !IE]>-->
        <object type="application/x-shockwave-flash" data="gedemat/gecco/piece/pieceDocument.create.swf"
            width="350" height="130" id="dematMultiuploader">
            <param name="quality" value="high" />
            <param name="bgcolor" value="white" />
            <param name="allowScriptAccess" value="sameDomain" />
            <param name="allowFullScreen" value="true" />
            <!--<![endif]-->
            <!--[if gte IE 6]>-->
            <p>Either scripts and active content are not permitted to run or
                Adobe Flash Player version 10.0.0 or greater is not installed.</p>
            <!--<![endif]-->
            <a href="http://www.adobe.com/go/getflashplayer"> <img
                src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif"
                alt="Get Adobe Flash Player" />
            </a>
            <!--[if !IE]>-->
        </object>
        <!--<![endif]-->
    </object>
</noscript>


如您所见,IE的对象标签中没有flashVars参数,这可能是问题吗?

IE可能会更改IE11的某些参数名称,例如crossDomainUrl吗?

我已经尝试过使用crossDomain url将flashvars param放在object标签中,但是没有用。

在Firefox和Chrome中,我得到这个错误:

NetworkError:找不到404-http://localhost:8080/crossdomain.xml

因此,他们尝试直接在服务器的根目录上加载文件,但没有成功,但是它仍然有效,因为在此调用之前crossdomain.xml已经被加载。也许IE在那个特定时刻找不到此文件?没有考虑到以前加载的?

有任何想法吗?

最佳答案

找到了解决方案!
在Internet Explorer 11的官方文档中,我发现了这一点:


  在Windows 7 SP1或Windows Server 2008 R2 SP1上运行的Internet Explorer 11不支持Adobe Flash的预安装版本。但是,您仍然可以下载并安装单独的Adobe Flash插件。


这是它的链接:http://technet.microsoft.com/en-us/library/dn268945.aspx

由于我在Windows 7 SP1上运行,因此我重新安装了所有组件,然后一切又恢复了。

http://get.adobe.com/fr/flashplayer/otherversions/

10-07 14:53