`
hereson
  • 浏览: 1463854 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

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;
  }
 }
}

分享到:
评论
1 楼 wwwtete 2010-12-30  
楼主,没看懂耶,能详细解释一下吗?谢谢了,我的邮箱:wwwtete@163.com

相关推荐

    FLEX技巧

    1. **复制内容到剪贴板**:在ActionScript中,可以使用`System.setClipboard()`方法将字符串内容复制到剪贴板,如`System.setClipboard(strContent);`。 2. **复制ArrayCollection**:如果你需要复制一个...

    flash AS3 自动弹出链接类

    例如,避免频繁弹窗,尊重用户的浏览器设置,不要强制新开窗口,而是让用户可以选择如何打开链接。 综上所述,"flash AS3 自动弹出链接类"涉及到AS3的基本事件处理、URL导航以及自定义类的设计。通过理解这些概念,...

    flex 一问一答

    而在AS3中,这一功能被替换为`DisplayObject.loaderInfo.parameters`,它允许你访问加载对象的参数。 2. 在Flex中,快速注释代码可以通过快捷键实现:`Shift+Ctrl+C` 用于添加块注释,`Shift+Ctrl+D` 用于移除块...

    12条有用的flex代码

    - **`navigateToURL()` 方法**:用于打开一个新的URL地址。该方法通常用于导航到一个新的网页或者执行某些特定的动作。 - **参数**: - 第一个参数是 `URLRequest` 对象,指定了要导航到的具体URL地址。 - 第二个...

    Flex 常用实现小功能的语句

    - **工作原理**:`navigateToURL` 是 Flex 中的一个方法,用于导航到指定的 URL。在这里,它接收两个参数: - 第一个参数是 `URLRequest` 对象,其中包含了 JavaScript 代码 `"javascript:location.reload();"`, 该...

    十二个非常有用的Flex函数Source In Flex

    这种方法通过遍历原始的`ArrayCollection`并将其每一项添加到新的`ArrayCollection`中来实现克隆。虽然简单,但效率可能不是最高。 **方法2**: 使用`ListCollectionView`进行高效克隆 ```actionscript var ac: ...

    Flex中的小技巧备忘

    通过调用此方法,我们可以将指定的字符串复制到系统的剪贴板上,从而使得用户可以在其他应用中粘贴这些信息。例如: ```as System.setClipboard("这是一个示例文本"); ``` 这行代码会将“这是一个示例文本”复制到...

    Flex 有用的几行代码

    - **知识点说明**:`navigateToURL()` 方法可以用来打开一个新的 URL,参数 `_blank` 表示在新的浏览器窗口或标签页中打开该 URL。 - **应用场景**:当用户点击某个链接时,希望在新窗口中打开,而不是在当前页面...

    12个Flex常用功能代码

    5. **关闭浏览器**:`navigateToURL(new URLRequest("javascript:window.close()"),"_self")`可关闭当前浏览器窗口,`javascript:window.close()`是JavaScript的关闭窗口命令。 6. **设置Alert窗口透明**:在Flex中...

    flex中使用的一些小知识

    - **功能**:通过`navigateToURL`方法打开一个新的浏览器窗口,并加载指定的URL地址。 - **应用场景**:通常用于导航到外部链接或在新窗口中显示特定内容。 ### 4. 页面刷新 ```as3 navigateToURL(new URLRequest(...

    Adobe Flash超级链接的修复方法.docx

    这种方法适用于嵌入到网页中的Flash内容,无论是视频、游戏还是其他互动元素,都可以通过调整这些属性来控制其链接行为。 总之,Adobe Flash的超级链接管理涉及到ActionScript编程以及HTML嵌入代码的修改。了解这些...

    12条有用的Flex代码

    通过调用`navigateToURL`方法,并传入`URLRequest`对象和目标窗口名称(这里是`_blank`),可以实现在新窗口或新标签页中打开指定URL的功能。 ### 4. 页面刷新 ```as navigateToURL(new URLRequest("javascript:...

    Jquery ajax和as3调用WCF服务端方法实例代码

    在本实例中,jQuery的`.ajax()`方法被用来调用WCF服务的方法,通过发送HTTP请求,接收并处理返回的数据。这通常包括设置URL(指向WCF服务的终结点),指定HTTP方法(GET或POST),以及定义成功或失败的回调函数。 2...

    12条常用Flex代码 值得收藏

    使用`navigateToURL(new URLRequest("javascript:window.close()"),"_self");`语句可以实现这一功能。 6. 设置Alert窗口的背景为透明 在Flex应用程序中,经常需要设置Alert窗口的背景为透明,以便提高用户体验。...

    flash+js交互部分

    flash CS4 actionscrpit 3.0 ... //navigateToURL(new URLRequest("javascript:getFlash()")); } ------------------------- 全部代码 js代码如下: function getflash() { alert('显示结果'); }

    flex试题打包面试题挺好的

    - **解决方法**:要修改Flex项目的默认背景颜色,可以通过编辑SDK中的CSS文件实现。具体路径为:`sdk\frameworks\projects\framework\default.css`。找到`Application`样式,并将其`backgroundColor`属性更改为所需...

    Flex自定义右健菜单

    navigateToURL(new URLRequest("javascript:window.close()"), "_self"); } else { Alert.show("选择无效!"); } } ``` 方法二: 1. **启用全屏功能**:在`Index.template.html`模板中,找到Flash对象的`embed`...

    AS3[1].0与网络通信

    - **navigateToURL()**:使用`flash.net.navigateToURL()`函数,可以打开一个新的浏览器窗口或标签,加载指定的URL。 ActionScript 3.0的网络通信能力不仅限于以上内容,还包括使用Socket、SharedObject等进行实时...

    flash最小化关闭

    这段代码演示了如何使用`addEventListener`方法为一个名为`fulls`的对象添加鼠标点击事件(`MouseEvent.MOUSE_DOWN`)的监听器。当用户点击该对象时,会触发一个函数,将舞台(`stage`)的显示状态设置为全屏模式。 #...

    flex的跳转

    在Flex开发中,"flex的跳转"通常指的是在应用程序中实现不同视图或界面之间的切换。虽然Flex没有像传统Web应用那样明确的...随着Flex技术的发展,还有更多的创新方法被开发出来,以适应不断变化的用户需求和设计趋势。

Global site tag (gtag.js) - Google Analytics