来源:http://leftice.iteye.com/blog/806605

Flash需要和JS交互,但是在ie外壳浏览器下,有时候缓存会导致页面刷新后flash无法工作.

会报出SecurityError.

这是因为Flash并没有完全准备好,就尝试和JS交互导致的问题.

解决的问题方式有几种:

1.在页面上设置不缓存,网上有很多文章介绍.

2.在flash的url后加入随机串,每次都重新请求flash不让浏览器缓存.

3. 1和2对于小流量的网站是可以接受的,对于大流量的网站每次都重新请求不缓存是很悲剧的.所以需要从flash的代码中来解决这个问题..

1).在全局初始化之前,使用Timer判断flash的宽度是否大于零

2).宽度大于零之后,调用页面的js函数,保证flash与js通信畅通后开始初始化.

Actionscript3.0代码  
  1. <span style="white-space: normal;"> <span style="white-space: pre;">var initTimer = new Timer(300, 0); /*时间可随意*/</span></span>
Actionscript3.0代码  
  1. initTimer.addEventListener(TimerEvent.Timer, _initTimer);
  2. initTimer.start();
  3. function _initTimer(evt:TimerEvent):void {
  4. if(stage.stageWidth > 0) {
  5. initTimer.stop();
  6. }
  7. }
  8. function checkJS():void {
  9. var jsReady:Boolean = false;
  10. try{
  11. jsReady = ExternalInterface.call('jsReady);
  12. if(jsReady){
  13. init();
  14. }else{
  15. checkJS();
  16. }
  17. }catch(e:*){
  18. checkJS();
  19. }
  20. }
Actionscript3.0代码  

JS部分只需要给一个纯return true的函数即可

function jsReady(){return true;}

这样就可以解决缓存带来的flash问题了.

转载于:https://www.cnblogs.com/momofan/archive/2012/01/10/2318467.html

flash遨游缓存问题相关推荐

  1. (转)flash位图缓存cacheAsBitmap

    矢量图,是靠 cpu运算出来的.而位图记录的颜色信息都保存在了内存中.把矢量图缓存成位图,以减轻cpu的运算压力. cacheAsBitmap 属性 cacheAsBitmap:Boolean  [读 ...

  2. Flash 不缓存XML 数据 用时间戳getTime(非getTimer)抗拒缓存

    昨天内测 九天音乐格子遇到一个问题,如何让 Flash 获取的 xml 始终为最新数据,避免从缓存读取? 同事提醒我在加载文件后面加时间戳属性,突然想起经典上有篇老文 Flash 缓存问题的解决,提到 ...

  3. 在Flash中利用PCRE正则式漏洞CVE-2015-0318的方法

    blast · 2015/03/02 10:49 0x00 前言 标题:(^Exploiting)\s(CVE-2015-0318)\s(in)\s*(Flash$) 作者:Mark Brand is ...

  4. flash和js通讯的伪沙箱安全错误

    加载到页面的flash需要和当前页面上的js通讯的时候,如果是js和flash在同一个域那就没有安全错误发生 如果不在同一个域就会有安全错误发生. 不在同一个域的flash和js跨域访问的时候 ,可以 ...

  5. stm32 Flash读写[库函数]

    stm32 的内置可编程Flash在许多场合具有十分重要的意义.如其支持ICP特性使得开发人员对stm32可以警醒调试开发,可以通过JTAG和SWD接口对stm32进行程序烧写:支持IAP特性使得开发 ...

  6. 静态的html页面想要设置使用浏览器缓存

    设置html页面缓存方法: 静态的html页面想要设置使用缓存: 通过HTTP的META设置expires和cache-control code 1.  <meta http-equiv=&qu ...

  7. STM32 内部Flash读写 程序源码 [已验证]

    目录 STM32 内部Flash带缓存读写 程序源码 0 Macro 1.Flash_Erase 2. Flash_Read_Byte 3.Flash_Write_NoBuffer 4.Flash_W ...

  8. STM32 擦除flash失败问题

    硬件平台STM32F407VE,HAL库.标准库不会有此问题 软件跑freertos 问题描述:STM32 擦除flash失败,CPU跳不出串口中断,看门狗重启. 问题一.FlashStatus!=H ...

  9. 是谁把Adobe数字签名的RSL(*.swz)存放到FlashPlayer指定的缓存当中的? 是FlashPlayer

    是谁把Adobe数字签名的RSL存放到FlashPlayer指定的缓存当中的? 是Flex框架吗?经过试验,这是FlashPlayer自动为我们做的. >>FlashPlayer的缓存在哪 ...

最新文章

  1. python networkx绘制图
  2. 反函数计算 python
  3. 我脸都问绿了!二面竟然被问到 MySQL 时间类型 datetime、bigint 及 timestamp 的查询效率。。。
  4. QT的QEasingCurve类的使用
  5. 超音速亚原子Enterprise Java
  6. Python3常用数据结构
  7. 怎么把4399小游戏的代码_25行代码带你爬取4399小游戏数据,看下童年的游戏是否还在...
  8. as运行时不报错却闪退_字典访问不存在的key 时,如何才能不报错?
  9. 《迷人的8051单片机》---3.2 语句
  10. linux下执行mysql的sql文件
  11. linux 开放端口
  12. 云计算机房的建设预算,云计算节省支出待验证 IDC机房建设每平米30万
  13. 用echarts做如图,x轴左右都是正数的倒立柱形图展示
  14. vue3中v-on 、v-model与v-for和v-bind
  15. 2022泰迪杯a题害虫检测
  16. S32K144 CAN收发调试经验总结
  17. 背景差分运动目标检测
  18. phpstudy2016 PHP-5.4.45存在隐藏后门文件以及apache弹出php startup的经历
  19. windows php java_Windows下配置 php-java-bridge
  20. Shape of passed values is (230999, 1), indices imply (230999, 3)

热门文章

  1. mysql hbase 同步_HBase 简介和使用 Sqoop 同步 Mysql 数据到 HBase
  2. webstorm 运行android,Windows React Native环境搭建:webstorm+android studio 及解决热更新
  3. linux如何卸载conky,Linux Deepin 15.10.2 下折腾 简单自制的 Conky Conky-manager
  4. 遗传算法python实现_Python遗传算法代码实例讲解
  5. linux切换到字符界面stemctl,CentOS7两种模式
  6. bufferreader readline一次读一行_python中read(),readline(),readlines()的区别
  7. Java集合迭代器原理图解_Java Iterator接口遍历单列集合迭代器原理详解
  8. vscode php formatter mac配置_Mac上配置Vs code时,遇到的几个“坑”!
  9. Redis HyperLogLog常用命令
  10. Java访问对象的属性和行为