查看文章
 
IE7/Firefox阻止navigateToURL打开新窗口的解决方法
2008-04-24 14:53

IE7和Firefox(我使用的版本是2.0.0.11)会阻止用navigateToURL方法打开新窗口,而AS2中的getURL方法则不会,让人很不爽。既然项目选择了AS3开发,就只能想办法来解决。

首先当然想到的是ExternalInterface了,测试发现还是会被blocked。后来想添加wmode会不会有所帮助,于是在页面中添加wmode属性为opaque,果然OK了。

现提供AS3中的getURL方法:

function getURL(url:String,window:String="_blank"):void{ var broswer:String=ExternalInterface.call("function getBrowser(){return navigator.userAgent}") as String; if(broswer.indexOf("Firefox")!=-1 || broswer.indexOf("MSIE 7.0")!=-1){   ExternalInterface.call('window.open("'+url+'","'+window+'")'); }else{   navigateToURL(new URLRequest(url),window); }}




使用方法跟AS2中的getURL一样。另外,我只测试了IE6/7,Firefox2,并未对Safari等其他浏览器做测试。最后,最最重要的就是在html中把flash对象设置wmode属性为opaque或transparent。因为wmode属性默认为window,这表明此Flash应用程序与HTML层没有任何交互。


类别:设计方面||添加到搜藏 |分享到i贴吧|浏览(879)|评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
     

   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu