ExternalInterface not working in IE after page refresh

后端 未结 3 1859
梦如初夏
梦如初夏 2021-02-10 17:10

I have a bizarre situation in IE where JS can\'t call up into flash using ExternalInterface after I hit \"refresh\". I know the movie is getting loaded and the code that does th

3条回答
  •  忘掉有多难
    2021-02-10 17:51

    The issue is that the ExternalInterface class will stop working once the swf file is cached in your browser.

    To overcome this obstacle, you have to modify your html file and your swf files in the following ways: Note: This solution was tested in IE7

    The HTML file - Add parameters to your swf file to make it unique. So the browser will think you need to download a new swf file everytime the page loads.

    For example, if you're using the SWFObject library (which you don't have to), then you would make the following adjustments:

    var cachecontrol = Math.floor(Math.random()*99999);
    var flashvars = {};
    var params = {};
    var attributes = {id:"movie"};
    swfobject.embedSWF("movie.swf?nocache"+cachecontrol, "flashcontent", "100%", "100%", "10.1.0", "expressInstall.swf", flashvars, params, attributes);
    

    As well, add the following meta tag to ensure your html file is not cached:

    The SWF file(s) - If you're loading a swf file from a master swf, then you would have to apply the same logic: var cachecontrol:String = Math.floor(Math.random()*9999).toString(); loader.load(new URLRequest("movie.swf?nocache="+cachecontrol));

    Here is the source of the solution: http://www.emanuelz.com.mx/blog/cache-control-tips-for-flash-120 Note: You don't have to do anymore than what is described above.

提交回复
热议问题