navigateToURL的弹窗被拦截的解决方法:

package FlashCode.utils{
 
 import flash.display.Sprite;
 import flash.net.URLRequest;
 import flash.net.navigateToURL;
 import flash.external.ExternalInterface;
 
 public class openWindow {
  public function openWindow(url:String, window:String="_blank", features:String=""){
    
   var WINDOW_OPEN_FUNCTION:String = "window.open";
   var myURL:URLRequest = new URLRequest(url);   
   var browserName:String = getBrowserName();
   
   if(getBrowserName() == "Firefox"){
    ExternalInterface.call(WINDOW_OPEN_FUNCTION, url, window, features);
   }
   //If IE,
   else if(browserName == "IE"){
    ExternalInterface.call(WINDOW_OPEN_FUNCTION, url, window, features);
    //ExternalInterface.call("function setWMWindow() {window.open('" + url + "');}");
   }
   //If Safari
   else if(browserName == "Safari"){    
    navigateToURL(myURL, window);
   }
   //If Opera
   else if(browserName == "Opera"){ 
    navigateToURL(myURL, window);
   } else {
    navigateToURL(myURL, window);
   }
   
   /*Alternate methodology...
      var popSuccess:Boolean = ExternalInterface.call(WINDOW_OPEN_FUNCTION, url, window, features);
   if(popSuccess == false){
    navigateToURL(myURL, window);
   }*/
   
  }
  private function getBrowserName():String{
   var browser:String;
   
   //Uses external interface to reach out to browser and grab browser useragent info.
   var browserAgent:String = ExternalInterface.call("function getBrowser(){return navigator.userAgent;}");
  
    //  Debug.text += "Browser Info: [" + browserAgent + "]";
   
   //Determines brand of browser using a find index. If not found indexOf returns (-1).
   if(browserAgent != null && browserAgent.indexOf("Firefox") >= 0) {
    browser = "Firefox";
   }
   else if(browserAgent != null && browserAgent.indexOf("Safari") >= 0){
    browser = "Safari";
   }   
   else if(browserAgent != null && browserAgent.indexOf("MSIE") >= 0){
    browser = "IE";
   }  
   else if(browserAgent != null && browserAgent.indexOf("Opera") >= 0){
    browser = "Opera";
   }
   else {
    browser = "Undefined";
   }
   return browser;
  }
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值