window.open參數和技巧

【1、最基本的彈出窗口代碼】

  <SCRIPT LANGUAGE="javascript">
  <!--
  window.open ('page.html')
  -->
  </SCRIPT>
  
  因為著是一段javascripts代碼,所以它們應該放在<SCRIPT LANGUAGE="javascript">標簽和</script>之間。<!-- 和 -->是對一些版本低的瀏覽器起作用,在這些老瀏覽器中不會將標簽中的代碼作為文本顯示出來。要養成這個好習慣啊。window.open ('page.html') 用于控制彈出新的窗口page.html,如果page.html不與主窗口在同一路徑下,前面應寫明路徑,絕對路徑(http://)和相對路徑(../)均可。用單引號和雙引號都可以,只是不要混用。這一段代碼可以加入HTML的任意位置,<head>和</head>之間可以,<body>間</body>也可以,越前越早執行,尤其是頁面代碼長,又想使頁面早點彈出就盡量往前放。
 
  【2、經過設置后的彈出窗口】
  
  下面再說一說彈出窗口的設置。只要再往上面的代碼中加一點東西就可以了。 我們來定制這個彈出的窗口的外觀,尺寸大小,彈出的位置以適應該頁面的具體情況。
  
  <SCRIPT LANGUAGE="javascript">
  <!--
  window.open ('page.html', 'newwindow', 'height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=n o, status=no') //這句要寫成一行
  -->
  </SCRIPT>

  
  參數解釋:
  
  <SCRIPT LANGUAGE="javascript"> js腳本開始;
  window.open 彈出新窗口的命令;
  'page.html' 彈出窗口的文件名;
  'newwindow' 彈出窗口的名字(不是文件名),非必須,可用空''代替;
  height=100 窗口高度;
  width=400 窗口寬度;
  top=0 窗口距離屏幕上方的象素值;
  left=0 窗口距離屏幕左側的象素值;
  toolbar=no 是否顯示工具欄,yes為顯示;
  menubar,scrollbars 表示菜單欄和滾動欄。
  resizable=no 是否允許改變窗口大小,yes為允許;
  location=no 是否顯示地址欄,yes為允許;
  status=no 是否顯示狀態欄內的信息(通常是文件已經打開),yes為允許;
  </SCRIPT> js腳本結束

  
  【3、用函數控制彈出窗口】

  
  下面是一個完整的代碼。
  <html>
  <head>
  <script LANGUAGE="JavaScript">
  <!--
  function openwin() {
  window.open ("page.html", "newwindow", "height=100, width=400, toolbar =no, menubar=no, scrollbars=no, resizable=no, location=no, status=no") //寫成一行
  }
  //-->
  </script>
  </head>
  <body οnlοad="openwin()">
  任意的頁面內容...
  </body>
  </html>

  這里定義了一個函數openwin(),函數內容就是打開一個窗口。在調用它之前沒有任何用途。怎么調用呢?

  方法一:<body οnlοad="openwin()"> 瀏覽器讀頁面時彈出窗口;
  方法二:<body οnunlοad="openwin()"> 瀏覽器離開頁面時彈出窗口;
  方法三:用一個連接調用:
  <a href="#" οnclick="openwin()">打開一個窗口</a>
  注意:使用的“#”是虛連接。
  方法四:用一個按鈕調用:
  <input type="button" οnclick="openwin()" value="打開窗口">

 
 
  【4、同時彈出2個窗口】
  
   對源代碼稍微改動一下:
  
  <script LANGUAGE="JavaScript">
  <!--
  function openwin() {
  window.open ("page.html", "newwindow", "height=100, width=100, top=0, left=0,toolbar=no, menubar=no, scrollbars=no, resizable=no, location=n o, status=no")//寫成一行
  window.open ("page2.html", "newwindow2", "height=100, width=100, top=1 00, left=100,toolbar=no, menubar=no, scrollbars=no, resizable=no, loca tion=no, status=no")//寫成一行
  }
  //-->
  </script>
  為避免彈出的2個窗口覆蓋,用top和left控制一下彈出的位置不要相互覆蓋即可 。最后用上面說過的四種方法調用即可。
  注意:2個窗口的name(newwindows和newwindow2)不要相同,或者干脆全部為空。
?
  【5、主窗口打開文件1.htm,同時彈出小窗口page.html】

  如下代碼加入主窗口<head>區:

  <script language="javascript">
  <!--
  function openwin() {
  window.open("page.html","","width=200,height=200")
  }
  //-->
  </script>
  加入<body>區:
  <a href="1.htm" οnclick="openwin()">open</a>即可。

?
  【6、彈出的窗口之定時關閉控制】
  
  下面我們再對彈出的窗口進行一些控制,效果就更好了。如果我們再將一小段 代碼加入彈出的頁面(注意是加入page.html的HTML中,可不是主頁面中,否則 ...),讓它10秒后自動關閉是不是更酷了?
首先,將如下代碼加入page.html文件的<head>區:
  <script language="JavaScript">
  function closeit()
  {
  setTimeout("self.close()",10000) //毫秒
  }
  </script>
  然后,再用<body οnlοad="closeit()"> 這一句話代替page.html中原有的<BODY>這一句就可以了。(這一句話千萬不要忘記寫啊!這一句的作用是調用關閉窗 口的代碼,10秒鐘后就自行關閉該窗口。)

  【7、在彈出窗口中加上一個關閉按鈕】

  <FORM>
  <INPUT TYPE='BUTTON' VALUE='關閉' onClick='window.close()'>
  </FORM>
  呵呵,現在更加完美了!

  【8、內包含的彈出窗口-一個頁面兩個窗口】

  上面的例子都包含兩個窗口,一個是主窗口,另一個是彈出的小窗口。通過下面的例子,你可以在一個頁面內完成上面的效果。

  <html>
  <head>
  <SCRIPT LANGUAGE="JavaScript">
  function openwin()
  {
  OpenWindow=window.open("", "newwin", "height=250, width=250,toolbar=no ,scrollbars="+scroll+",menubar=no");
  //寫成一行
  OpenWindow.document.write("<TITLE>例子</TITLE>")
  OpenWindow.document.write("<BODY BGCOLOR=#ffffff>")
  OpenWindow.document.write("<h1>Hello!</h1>")
  OpenWindow.document.write("New window opened!")
  OpenWindow.document.write("</BODY>")
  OpenWindow.document.write("</HTML>")
  OpenWindow.document.close()
  }
  </SCRIPT>
  </head>
  <body>
  <a href="#" οnclick="openwin()">打開一個窗口</a>
  <input type="button" οnclick="openwin()" value="打開窗口">
  </body>
  </html>

  看看OpenWindow.document.write()里面的代碼不就是標準的HTML嗎?只要按照 格式寫更多的行即可。千萬注意多一個標簽或少一個標簽就會出現錯誤。記得用 OpenWindow.document.close()結束啊。

  【9、終極應用--彈出的窗口之Cookie控制】

  回想一下,上面的彈出窗口雖然酷,但是有一點小毛病(沉浸在喜悅之中,一定 沒有發現吧?)比如你將上面的腳本放在一個需要頻繁經過的頁面里(例如首頁),那么每次刷新這個頁面,窗口都會彈出一次,是不是非常煩人?:-(
  有解決的辦法嗎?Yes! ;-) Follow me.我們使用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 οnlοad="loadpopup()">(注意不是openwin而是loadpop啊!)替換主頁面中原有的<BODY>這一句即可。你可以試著刷新一下這個頁面或重新進 入該頁面,窗口再也不會彈出了。真正的Pop-Only-Once!

轉載于:https://www.cnblogs.com/zijinguang/archive/2008/07/22/1248932.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/379960.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/379960.shtml
英文地址,請注明出處:http://en.pswp.cn/news/379960.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java jar包示例_Java包getImplementationTitle()方法和示例

java jar包示例包類的getImplementationTitle()方法 (Package Class getImplementationTitle() method) getImplementationTitle() method is available in java.lang package. getImplementationTitle()方法在java.lang包中可用。 getImplementationTitle() method is used to…

Java——獲取和設置多線程的名稱

給名字進行賦值有兩種方式&#xff1a; 1&#xff0c;通過構造去賦值 Thread(String name) 直接在構造方法里面傳一個名字就行了2&#xff0c;通過set設置的方法進行賦值 package com.yy.threadmethod;public class Demo1_Name {public static void main(String[] args) {dem…

十三、oracle 數據字典和動態性能視圖

一、概念數據字典是oracle數據庫中最重要的組成部分&#xff0c;它提供了數據庫的一些系統信息。動態性能視圖記載了例程啟動后的相關信息。 二、數據字典1)、數據字典記錄了數據庫的系統信息&#xff0c;它是只讀表和視圖的集合&#xff0c;數據字典的所有者為sys用戶。2)、用…

python網絡編程---TCP服務器

0x01 環境 python2 pycharm 0x02 程序 客戶端程序&#xff1a; # -*- coding:UTF-8 -*- import sockettarget_hostwww.baidu.com target_port80target_hostlocalhost target_port3345 dataABCDEF# 創建一個socket對象 client socket.socket(socket.AF_INET,socket.SOCK_STRE…

C# 獲取磁盤容量

/// 獲取指定驅動器的空間總大小(單位為B) /// </summary> /// <param name"str_HardDiskName">只需輸入代表驅動器的字母即可 </param> /// <returns> </returns> public static long GetHardDi…

Java——獲取當前線程的對象(currentThread())(兩種方式)

package com.yy.threadmethod;public class Demo2_CurrentThread { /*** public static Thread currentThread()返回對當前正在執行的線程對象的引用。 * 返回&#xff1a;當前執行的線程。返回的是一個Thread* 該方法主要是為了協助 實現通過Runnable接口來對線程進行設置…

HDU2501_多米諾骨牌

題目大意&#xff1a; 有一個大小是 2 x n 的網格&#xff0c;現在需要用2種規格的骨牌鋪滿&#xff0c;骨牌規格分別是 2 x 1 和 2 x 2&#xff0c;請計算一共有多少種鋪設的方法。 解題思路&#xff1a; 找出遞推公式&#xff1a; f[i] f[i-1] f[i-2] * 2; 代碼&#xff1a…

java jar包示例_Java包getSpecificationVendor()方法和示例

java jar包示例包類的getSpecificationVendor()方法 (Package Class getSpecificationVendor() method) getSpecificationVendor() method is available in java.lang package. getSpecificationVendor()方法在java.lang包中可用。 getSpecificationVendor() method is used to…

sys.argv和getopt

0x01 sys.argv sys.argv用來讀取命令行參數&#xff0c;保存程序的文件名和命令參數&#xff0c;讀入的參數以列表保存 import sysprint sys.argv print type(sys.argv)可以看到&#xff0c;sys.argv把空格當成分隔符&#xff0c;空格兩邊的值當做sys.argv的一個元素&#xf…

[導入]《大話設計模式》重印公告

摘要: 《大話設計模式》12月中旬上市&#xff0c;至2008年1月底僅僅一個多月&#xff0c;5000冊即銷售一空&#xff0c;清華大學出版社已經開始重印&#xff0c;也就是說很快可以在二月底或三月初看到新印刷修正過大部分錯誤的《大話設計模式》。 閱讀全文[新聞]《人民日報市場…

Java——線程的四種不同形式

一&#xff0c;休眠線程 public static void sleep(long millis) throws InterruptedException 在指定的毫秒數內讓當前正在執行的線程休眠&#xff08;暫停執行&#xff09;&#xff0c;此操作受到系統計時器和調度程序精度和準確性的影響。該線程不丟失任何監視器的所屬權。…

hdu1053 Entropy hdu2527 Safe Or Unsafe

裸裸的哈弗曼編碼&#xff0c;求出哈弗曼編碼的路徑長度&#xff0c;注意整個字符串為一種字符的情況 View Code #include<iostream>#include<queue>#include<algorithm>#include<vector>using namespace std;struct node{int u,w; node(int a0,in…

Java ListResourceBundle getContents()方法與示例

ListResourceBundle類的getContents()方法 (ListResourceBundle Class getContents() method) getContents() method is available in java.util package. getContents()方法在java.util包中可用。 getContents() method is used to get the contents into the form of an Obje…

DOM元素的所有子元素 .elements

.elements屬性用來獲取某個DOM元素的所有子元素&#xff0c;是個很有用的屬性&#xff0c;可用于用className來獲取指定元素等用途。 轉載于:https://www.cnblogs.com/cly84920/archive/2008/08/06/4427136.html

sys.stdin.read和raw_input函數

sys.stdin.read函數 例子&#xff1a; import sysreadsys.stdin.read() for i in range(len(read)):print i,read[i],-1運行&#xff0c;當執行到readsys.stdin.read()會阻塞&#xff0c;等待我們輸入 我們輸入&#xff1a; h e當輸入&#xff0c;ctrlD結束輸入&#xff0c…

Java ObjectOutputStream writeFields()方法與示例

ObjectOutputStream類writeFields()方法 (ObjectOutputStream Class writeFields() method) writeFields() method is available in java.io package. 在java.io包中提供了writeFields()方法 。 writeFields() method is used to write the buffered fields to the ObjectOutpu…

利用帶關聯子查詢Update語句更新數據

Update是T-sql中再簡單不過的語句了&#xff0c;update table set columnexpression [where condition]&#xff0c;我們都會用到。但update的用法不僅于此&#xff0c;真正在開發的時候&#xff0c;靈活恰當地使用update可以達到事半功倍的效果。 假定有表Table1&#xff08;…

SQL Server 2000數據庫移植到SQL Server 2008R2數據庫服務器中碰到的”3145錯誤”及解決辦法...

辛苦忙碌了一個星期終于安裝配置好了TFS服務器&#xff0c;給每個團隊成員分配了賬戶和郵箱。不過&#xff0c;老機器中的部分數據需要備份到新機器中&#xff0c;其中在移植一個使用DVBBS架設的論壇的時候&#xff0c;出了點問題&#xff0c;記錄如下&#xff0c;以備查找&…

web安全----XSS漏洞之基本原理

0x01 概述 XSS為跨站腳本攻擊&#xff0c;XSS攻擊針對的是用戶層面的攻擊&#xff01;類型有反射型XSS、存儲型XSS、DOM型XSS&#xff0c;這里的DOM可以理解為頁面&#xff0c;或者是所有的標簽、內容之和 0x02 反射型XSS 反射型XSS攻擊流程為&#xff1a; 即&#xff1a; …

面向對象(匿名內部類與有名字內部類的比較)

A:匿名內部類 就是內部類的簡化寫法B:前提 這里的類可以是具體類也可以是抽象類C&#xff1a;格式 new 類名或者接口(){ //表示繼承這個類或實現這個接口重寫方法}D&#xff1a;本質是什么呢&#xff1f; 是一個繼承了該類或者實現了該接口的子類匿名對象E&#xff1a;案…