as3 打开窗口类

 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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
demo版本所展示的部分功能: 1、创建窗口 2、设置窗口宽高,标题 3、拖拽边缘缩放窗口,拖拽窗口 4、双击顶端的标题栏,最大化和缩放 5、实现不同的窗口机制 等等……………… core核心包结构初略讲解: IWindow接口:定义所有窗口,并且Window实现了该接口 Module:模块基 PopModule:弹出型环境,继承Module PopWindow:弹出型窗口,继承Window Window窗口 WindowEvent窗口事件 WindowsManager窗口管理基 core核心包实现讲解: 凡是flash cs3中继承Module的元件,都可以直接在元件的第一帧撰写代码,并且在编译的过程中会自动把代码编译出来并继承Module,在第一帧所拽写的代码可以通过实例化后来访问,比如下面贴出的"控制台源码"就是如此写的 如果需要提供特殊环境等,可以继承Module撰写,比如PopModule,控制台的父就是PopModule,在控制台的源码中,我们可以看得到他直接访问了window属性,得到的就是控制台所在的窗口对象 Window实现了基本窗口操作,比如拖拽,关闭,显示等,与WindowManager是配套使用 如果需要更复杂的窗口,可以继承Window撰写,比如PopWindow,FixedWindow的父就是PopWindow,在FixedWindow中,我们只需要把PopWindow的状态和模式定死在window和fixed就可以了,而PopWindow本来就是一个普通的窗口,因此创建Create窗口的时候,直接使用PopWindow即可创建一个普通的窗口,在PopWindow中,默认窗口的状态和模式都为window 核心包是另外一个公司做的。核心代码是反编译过来的。代码经过测试能正常运行。 此代码仅供学习,请勿传播。 flash版窗体系统demo观看地址:http://www.xiaos8.com/uploads/flash/window.swf

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值