1

经过漫长的一天在网上搜索,我没有找到任何解决我的问题。swfObject嵌入的对象不工作ie11

我加载使用SWFObject在我的网页中的SWF文件中的问题,并没有在IE11工作(在ie8-10工作正常,Firefox和Chrome)

这里是我的背景: 这是初始化在PARAMS通过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的Object标签中没有flashVars参数,这可能是问题吗?

可能是IE更改IE11的一些参数名称,如crossDomainUrl?

我试过已经把flashvars参数放在crossDomain url的对象标签中,但它不起作用。

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

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

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

任何想法?

+0

不要使用闪光灯,并在上帝的面上不使用Internet Explorer)http://www.infoworld.com/article/2609519/microsoft-windows/ie11-leaves-flash-media-挂在youtube上 - more-major-sites.html – IonicBurger 2014-12-05 13:01:25

+0

只有开玩笑,我确实看到一个虽然“falshContentID”应该可能是“flashContentID”? – IonicBurger 2014-12-05 13:02:30

+0

感谢您的回应和文章:)但显然阻止客户端不使用Internet Explorer不是我的解决方案... – user3099620 2014-12-05 14:33:19

回答

1

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

The preinstalled version of Adobe Flash isn't supported on Internet Explorer 11 running on either Windows 7 SP1 or Windows Server 2008 R2 with SP1. However, you can still download and install the separate Adobe Flash plug-in.

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

因为我乳宁在Windows 7 SP1我重新安装了,一切重新工作。

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

-1

falshContentID没有在html部分找到。删除整个对象标签,并在html区域中添加以下代码 。

<div id="falshContentID"></div>