关于IE无法打开flex程序的问题

本文详细解析了一种常见的Flash版本检查错误,并提供了有效的解决方案。通过分析网页源代码和JavaScript函数,作者发现错误根源在于浏览器信息识别不全,最终通过重置IE浏览器设置成功解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

会报如下错误
Alternate HTML content should be placed here. This content requires the Adobe Flash Player.

如果你是用IE6.0 发现出现这样的错误  是不是换成IE7.0就可以了? 当然不是

网上有一种说法就是 说flash的版本过低

我觉得没有说到精髓的地方

我就遇到了以下的问题
我也是出现了以上的错误  然后把ie6 换成了 ie7 没用 并且去adobe下载了最新的 flash player debug版本

重新安装一次又一次 压根没有用  郁闷啊

后来打开 flex 工程的html 页面 查看了它的源码
发现有这么一个函数

var hasProductInstall = DetectFlashVer(6, 0, 65);

// Version check based upon the values defined in globals
var hasRequestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);

if ( !hasProductInstall && hasRequestedVersion )   则出现以上的错误

DetectFlashVer 这个函数来自于 AC_OETags.js 文件里面
打开这个文件 发现 如果是 flash9.0 ze则运行到如下代码
else if ( isIE && isWin && !isOpera ) {
  flashVer = ControlVersion();

从这里返回 flash的版本
wo我们再来看
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;


看到没有 这些变量是如此定义 而我在调试中 发现 我的isWin == false 所以 无法取得flash版本号

var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false; 则这个返回false

为什么呢?  发现navigator.appVersion  = 4.0(competable;MsIE 6.0)      我在别人的好的机器上测试过 后面还有一串win32 .....的字串  而我的取出来的没有   难怪 出错

为什么? 不是很了解  我现在怀疑是 用了一些杀流氓软件的 安全工具  的IE修复照成的(这里就不说名字了)

解决方案  在IE7.0的  internet  选项的 高级 中 重置浏览器    这个才叫浏览器超级修复工具 可以重置里面任何设置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值