zoukankan      html  css  js  c++  java
  • JS window.open()属性

    一. Window 对象

    Window 对象是 JavaScript 层级中的顶层对象。

    Window 对象代表一个浏览器窗体或一个框架。

    Window 对象会在 <body> 或 <frameset> 每次出现时被自己主动创建。

    二.

    open() 方法用于打开一个新的浏览器窗体或查找一个已命名的窗体。

    三.

    window.open(URL,name,features,replace)

    參数描写叙述
    URL 一个可选的字符串,声明了要在新窗体中显示的文档的 URL。假设省略了这个參数,或者它的值是空字符串,那么新窗体就不会显示不论什么文档。
    name 一个可选的字符串,该字符串是一个由逗号分隔的特征列表,当中包含数字、字母和下划线,该字符声明了新窗体的名称。这个名称能够用作标记 <a> 和 <form> 的属性 target 的值。假设该參数指定了一个已经存在的窗体,那么 open() 方法就不再创建一个新窗体,而仅仅是返回对指定窗体的引用。在这样的情况下,features 将被忽略。
    features 一个可选的字符串,声明了新窗体要显示的标准浏览器的特征。假设省略该參数,新窗体将具有全部标准特征。在窗体特征这个表格中,我们对该字符串的格式进行了具体的说明。
    replace

    一个可选的布尔值。规定了装载到窗体的 URL 是在窗体的浏览历史中创建一个新条目,还是替换浏览历史中的当前条目。支持以下的值:

    • true - URL 替换浏览历史中的当前条目。
    • false - URL 在浏览历史中创建新的条目。

    四.窗体特征(Window Features)

    channelmode=yes|no|1|0 是否使用剧院模式显示窗体。默觉得 no。
    directories=yes|no|1|0 是否加入文件夹button。默觉得 yes。
    fullscreen=yes|no|1|0 是否使用全屏模式显示浏览器。默认是 no。处于全屏模式的窗体必须同一时候处于剧院模式。
    height=pixels 窗体文档显示区的高度。以像素计。
    left=pixels 窗体的 x 坐标。以像素计。
    location=yes|no|1|0 是否显示地址字段。默认是 yes。
    menubar=yes|no|1|0 是否显示菜单条。默认是 yes。
    resizable=yes|no|1|0 窗体是否可调节尺寸。默认是 yes。
    scrollbars=yes|no|1|0 是否显示滚动栏。默认是 yes。
    status=yes|no|1|0 是否加入状态栏。默认是 yes。
    titlebar=yes|no|1|0 是否显示标题栏。默认是 yes。
    toolbar=yes|no|1|0 是否显示浏览器的工具栏。默认是 yes。
    top=pixels 窗体的 y 坐标。
    width=pixels 窗体的文档显示区的宽度。以像素计。

    五.

    注意:     

    window.open(URL,name,features,replace)

    假设name使用名字已经存在,那么不会创建一个新的窗体,而是会返回对已经存在的窗体的引用。

    否则,则创建一个新的窗体。

    我就是没有注意这点,网页全屏时候,花了非常多时间。

    六.详细业务功能

    6.1 打开一个全屏的窗体

    <script type="text/javascript">

    window.open("http://google.com/",'新开googleWin',"fullscreen=1")

    </script>

    6.2 使本页面全屏

    解决方式:先打开一个全屏的目标窗体,然后关闭本窗体。

    代码:

    <script type="text/javascript">

         var url=document.location.href; //获得本窗体属性名
          newWin=window.open(url,'','fullscreen=1,scrollbars=0');      
          window.opener=null;//出掉关闭时候的提示窗体
          window.open('','_self'); //ie7      
          window.close();

    </script>

    注意:假设你在open方法中指定第二个參数,并为他赋予特定的值话,那么第二次使用上面方法,将无法创建新的窗体,由于系统默认的返回已经存在窗体的索引。

    按ESC退出全屏

    <script type="text/javascript">

    // Esc退出全屏
          function exitFullScreenMe()
             {
                 var esc=window.event.keyCode;
                 if(esc==27) //推断是不是按的Esc键,27表示Esc键的keyCode.
                 {
                  var url=document.location.href;
                  
           win=window.open(url,'','fullscreen=0,directories=1,location=1,menubar=1,resizable=1,scrollbars=1,status=1,titlebar=1,toolbar=1'); //让新打开的窗体全屏                          
           
           window.opener=null;//出掉关闭时候的提示窗体
           window.open('','_self');//ie7          
           window.close(); //先关闭老的窗体          
                     
                 }
             }
             document.onkeydown = exitFullScreenMe ; //当onkeydown(按键触发) 事件发生时调用hotkey函数

    </script>

    6.3同一时候弹出两个窗体

    <script type="text/javascript">

    window.open("http://google.com/",'新开googleWin1',"height=300, width=300, top=0, left=0,toolbar=no, menubar=no, scrollbars=no, resizable=no, location=n o, status=no")

    window.open("http://google.com/",'新开googleWin2',"height=300, width=300, top=0, left=400,toolbar=no, menubar=no, scrollbars=no, resizable=no, location=n o, status=no")
    </script>

    注意:(1)窗体的名字不能同样,但能够都为空;

    (2)要注意两个窗体的布局,是否符合你的要求。

    6.4

    第一次进入页面才弹出窗体.cookie解决

    首先,将例如以下代码增加主页面HTML的<HEAD>区:

      <script>
      function openwin(){
      window.open("page.html","","width=200,height=200")
      }
      function get_cookie(Name) {
      var search = Name + "="
      var returnvalue = "";
      if (document.cookie.length > 0) {
      offset = document.cookie.indexOf(search)
      if (offset != -1) {
      offset += search.length
      end = document.cookie.indexOf(";", offset);
      if (end == -1)
      end = document.cookie.length;
      returnvalue=unescape(document.cookie.substring(offset, end))
      }
      }
      return returnvalue;
      }  
      function loadpopup(){
      if (get_cookie('popped')==''){
      openwin()
      document.cookie="popped=yes"
      }
      }
      </script>

      然后,用<body onload="loadpopup()">(注意不是openwin而是loadpop啊!)替换主页面中原有的<BODY>这一句就可以。你能够试着刷新一下这个页面或又一次进 入该页面,窗体再也不会弹出了。

  • 相关阅读:
    织梦开发——相关阅读likeart应用
    织梦标签教程
    织梦专题调用代码
    HIT 2543 Stone IV
    POJ 3680 Intervals
    HIT 2739 The Chinese Postman Problem
    POJ 1273 Drainage Ditches
    POJ 2455 Secret Milking Machine
    SPOJ 371 Boxes
    HIT 2715 Matrix3
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4378384.html
Copyright © 2011-2022 走看看