解决用JavaScript隐藏再显示Flex后不能正常使用问题

本文探讨了如何解决使用JavaScript隐藏和显示Flex元素后,在Chrome浏览器中出现的正常使用问题。通过调整FABridge.js文件中的条件判断,确保在Chrome和其他浏览器中的交互正常。代码示例和不同浏览器的效果截图提供了详细的解决方案。
摘要由CSDN通过智能技术生成
 
其实在试验中,发现IE浏览器是没有问题的,倒是Firefox和Chrome等不可以,发现隐藏swf对象后,再显示时,IE上不会出现重载swf的情况,但是Firefox和Chrome都有重载swf文件的情况,于是想办法让后者浏览器不要重载,于是找到把flex这个object的style中,将其visibility设置成"hidden",且长宽均为0的办法,实验证明果然可以了,解决了不同浏览器不兼容的情况。

代码如下,主要是JavaScript的处理,所以在此不给出Flex的源码。

另外,要注意以前由于Adobe的Flex-Ajax Bridge不考虑Chrome浏览器导致Flex与JavaScript不能交互的情况,要在FABridge.js文件中的FABridge__bridgeInitialized时加入如下判断:
if((!(/Chrome/.test(navigator.appVersion))) && ((/Explorer/.test(navigator.appName) || /Konqueror|Safari|KHTML/.test(navigator.appVersion))))

示例代码如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title>Test page for the TimeLine3 class</title>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<script type=
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值