1. 程式人生 > >window.open引數完全手冊

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 onload="openwin()">  
  任意的頁面內容...  
  </body>  
  </html>  


  這裡定義了一個函式openwin(),函式內容就是開啟一個視窗。在呼叫它之前沒有任何用途。怎麼呼叫呢?  


  方法一:<body onload="openwin()"> 瀏覽器讀頁面時彈出視窗;  
  方法二:<body onunload="openwin()"> 瀏覽器離開頁面時彈出視窗;  
  方法三:用一個連線呼叫:  
  <a href="#" onclick="openwin()">開啟一個視窗</a>  
  注意:使用的“#”是虛連線。  
  方法四:用一個按鈕呼叫:  
  <input type="button" onclick="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" onclick="openwin()">open</a>即可。  


   
  【6、彈出的視窗之定時關閉控制】  
   
  下面我們再對彈出的視窗進行一些控制,效果就更好了。如果我們再將一小段 程式碼加入彈出的頁面(注意是加入page.html的HTML中,可不是主頁面中,否則 ...),讓它10秒後自動關閉是不是更酷了?  
首先,將如下程式碼加入page.html檔案的<head>區:  
  <script language="JavaScript">  
  function closeit()  
  {  
  setTimeout("self.close()",10000) //毫秒  
  }  
  </script>  
  然後,再用<body onload="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="#" onclick="openwin()">開啟一個視窗</a>  
  <input type="button" onclick="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 onload="loadpopup()">(注意不是openwin而是loadpop啊!)替換主頁面中原有的<BODY>這一句即可。你可以試著重新整理一下這個頁面或重新進 入該頁面,視窗再也不會彈出了。真正的Pop-Only-Once!  


  寫到這裡彈出視窗的製作和應用技巧基本上算是完成了! 




------------------------------------------------------------------------------------- 






【專題】window.open的例子和使用方法以及引數說明(完整版)  
一、window.open()支援環境: java script1.0+/JScript1.0+/Nav2+/IE3+/Opera3+ 




二、基本語法: 
window.open(pageURL,name,parameters)  
其中: 
pageURL 為子視窗路徑  
name 為子視窗控制代碼  
parameters 為視窗引數(各引數用逗號分隔)  




三、示例: 
<SCRIPT>  
<!--  
window.open ('page.html','newwindow','height=100,width=400,top=0,left=0,toolbar=no, 
menubar=no,scrollbars=no, resizable=no,location=no, status=no')  


//寫成一行  
-->  
</SCRIPT> 
指令碼執行後,page.html將在新窗體newwindow中開啟,寬為100,高為400,距屏頂0象素,屏左0象素,無工具條,無選單條,無滾動條,不可調整大小,無位址列,無狀態列。 
請對照。 


上例中涉及的為常用的幾個引數,除此以外還有很多其他引數,請見四。 




四、各項引數 
其中yes/no也可使用1/0;pixel value為具體的數值,單位象素。 


引數 | 取值範圍 | 說明  
| |  
alwaysLowered | yes/no | 指定視窗隱藏在所有視窗之後  
alwaysRaised | yes/no | 指定視窗懸浮在所有視窗之上  
depended | yes/no | 是否和父視窗同時關閉  
directories | yes/no | Nav2和3的目錄欄是否可見  
height | pixel value | 視窗高度  
hotkeys | yes/no | 在沒選單欄的視窗中設安全退出熱鍵  
innerHeight | pixel value | 視窗中文件的畫素高度  
innerWidth | pixel value | 視窗中文件的畫素寬度  
location | yes/no | 位置欄是否可見  
menubar | yes/no | 選單欄是否可見  
outerHeight | pixel value | 設定視窗(包括裝飾邊框)的畫素高度  
outerWidth | pixel value | 設定視窗(包括裝飾邊框)的畫素寬度  
resizable | yes/no | 視窗大小是否可調整  
screenX | pixel value | 視窗距螢幕左邊界的畫素長度  
screenY | pixel value | 視窗距螢幕上邊界的畫素長度  
scrollbars | yes/no | 視窗是否可有滾動欄  
titlebar | yes/no | 視窗題目欄是否可見  
toolbar | yes/no | 視窗工具欄是否可見  
Width | pixel value | 視窗的畫素寬度  
z-look | yes/no | 視窗被啟用後是否浮在其它視窗之上 




window.showModalDialog使用手冊! 
基本介紹: 
showModalDialog() (IE 4+ 支援) 
showModelessDialog() (IE 5+ 支援) 
window.showModalDialog()方法用來建立一個顯示HTML內容的模態對話方塊。 
window.showModelessDialog()方法用來建立一個顯示HTML內容的非模態對話方塊。 


使用方法: 
vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures]) 
vReturnValue = window.showModelessDialog(sURL [, vArguments] [,sFeatures]) 


引數說明: 
sURL-- 
必選引數,型別:字串。用來指定對話方塊要顯示的文件的URL。 
vArguments-- 
可選引數,型別:變體。用來向對話方塊傳遞引數。傳遞的引數型別不限,包括陣列等。對話方塊通過window.dialogArguments來取得傳遞進來的引數。 
sFeatures-- 
可選引數,型別:字串。用來描述對話方塊的外觀等資訊,可以使用以下的一個或幾個,用分號“;”隔開。 
1.dialogHeight :對話方塊高度,不小於100px,IE4中dialogHeight 和 dialogWidth 預設的單位是em,而IE5中是px,為方便其見,在定義modal方式的對話方塊時,用px做單位。 
2.dialogWidth: 對話方塊寬度。 
3.dialogLeft: 離螢幕左的距離。 
4.dialogTop: 離螢幕上的距離。 
5.center: {yes | no | 1 | 0 }:視窗是否居中,預設yes,但仍可以指定高度和寬度。 
6.help: {yes | no | 1 | 0 }:是否顯示幫助按鈕,預設yes。 
7.resizable: {yes | no | 1 | 0 } 〔IE5+〕:是否可被改變大小。預設no。 
8.status: {yes | no | 1 | 0 } 〔IE5+〕:是否顯示狀態列。預設為yes[ Modeless]或no[Modal]。 
9.scroll:{ yes | no | 1 | 0 | on | off }:指明對話方塊是否顯示滾動條。預設為yes。 
下面幾個屬性是用在HTA中的,在一般的網頁中一般不使用。 
10.dialogHide:{ yes | no | 1 | 0 | on | off }:在列印或者列印預覽時對話方塊是否隱藏。預設為no。 
11.edge:{ sunken | raised }:指明對話方塊的邊框樣式。預設為raised。 
12.unadorned:{ yes | no | 1 | 0 | on | off }:預設為no。 


引數傳遞: 
1.要想對話方塊傳遞引數,是通過vArguments來進行傳遞的。型別不限制,對於字串型別,最大為4096個字元。也可以傳遞物件,例如: 
------------------------------- 
parent.htm 
<script> 
var obj = new Object(); 
obj.name="51js"; 
window.showModalDialog("modal.htm",obj,"dialogWidth=200px;dialogHeight=100px"); 
</script> 
modal.htm 
<script> 
var obj = window.dialogArguments 
alert("您傳遞的引數為:" + obj.name) 
</script> 
------------------------------- 
2.可以通過window.returnValue向開啟對話方塊的視窗返回資訊,當然也可以是物件。例如: 
------------------------------ 
parent.htm 
<script> 
str =window.showModalDialog("modal.htm",,"dialogWidth=200px;dialogHeight=100px"); 
alert(str); 
</script> 
modal.htm 
<script> 
window.returnValue="http://www.web3.cn"; 
</script>

相關推薦

window.open引數完全手冊

           【1、最基本的彈出視窗程式碼】         <SCRIPT LANGUAGE="javascript">     <!--     window.open ('page.html')     -->     </SC

vue 路由跳轉 .$router.push。window.open 引數

vue $router.push  接著之前的url  需要新的url  ,不用之前  window.open 引數 可選。指定target屬性或視窗的名稱。支援以下值: _blank - URL載入到一個新的視窗。這是預設 _parent -

window.open()引數傳遞及獲取

20161021 1、帶引數開啟新視窗 $window.open("/bdfence/bdfence-division/bdfence.html?vehicleId="+ id  ); 2、獲取

window.open()引數

alwaysLowered | yes/no | 指定視窗隱藏在所有視窗之後 alwaysRaised | yes/no | 指定視窗懸浮在所有視窗之上 depended | yes/no | 是否和父視窗同時關閉 directories | yes/no | Nav2和3的

window.open引數及用法

【1、最基本的彈出視窗程式碼】 其實程式碼非常簡單:<SCRIPT LANGUAGE="javascript"><!--window.open ('page.html')--></SCRIPT>  因為這是一段javascripts程式碼,

Window.open()方法引數詳解

1, 最基本的彈出視窗程式碼    window.open('page.html'); 2, 經過設定後的彈出視窗    window.open('page.html', 'newwindow', 'height=100, width=400, top=0, left=0, toolbar=no, menub

Window.open()方法引數詳解開啟新視窗

http://www.cnblogs.com/sofiawang/articles/1544631.html 1, 最基本的彈出視窗程式碼    window.open('page.html');2, 經過設定後的彈出視窗   window.open('page.html'

Window.open()方法控制視窗最大小化寬度滾動條引數詳解

1、最基本方法呼叫程式碼    window.open('page.html'); 2、設定引數後的彈出視窗  window.open("index.html",'newwindow', 'height=622, width=1000, top=0,l

window.showModalDialog和window.open引數區別

window.showModalDialog(viewURL,window,"dialogHeight=400px;dialogWidth=600px;center=yes;status=no

IE11中使用window.open()方法獲取不到引數解決方法

在父頁面中使用window.open()的方法開啟 <pre class="javascript" name="code"> var selectUrl = USER_SELECT_URL + params.join("&"); var

新視窗window.open() url不顯示引數,後面頁面可以接收引數 ——後面頁面為jsp

前臺js: var iUserID=document.actionForm.user_id.value; var iTID=document.actionForm.ts_id.value; var szUrl="/new_window.jsp"; //可寫可不寫 var s

javascript 的window.open()的引數詳解

[color=red]<SCRIPT LANGUAGE="javascript"> <!-- window.open (’page.html’, ’newwindow’, ’height=100, width=400, top=0, left=0,

open-flash-chart API 手冊 引數配置手冊

 open-flash-chart是一個flash圖形工具,主要通過JS設定引數來控制圖形的顯示,主要有線、柱狀及餅圖. 基本上能滿足資料統計分析的圖形化顯示需求。 優點:使用方便,一般瀏覽器都能支援使用,提供回撥功能支援更高階的處理。 目錄下JS是與swf互動的核心指

2016/10/24 window.open隱藏引數引數過長、中文編碼問題

一般 window.open 傳引數都是用Get.方式,在url後面拼接引數。 但這樣有時候並不適用,如:  1)不想被看到引數資訊 2)引數過長,get有限制會被截斷 3)可能有中文編碼問題 所以需要用post方式 ,下面說的就是一種window.open傳送post請求

window.open 方法怪問題 引數失效

window.open(URL,name,specs,replace)其中的name,如果name中包括-,則會出現引數失效問題很奇怪將-修改為_,就好了。特別怪的問題,希望有遇到此問題的朋友能在此找到答案

window.open()被攔截問題

沒有 win 標簽頁 詳情 頁面 主動 需求 同步 bsp 最近做項目的時候遇到一個需求,在商品詳情頁面中點擊購買按鈕,之後再新標簽頁中打開生成的訂單頁面,所以想用window.open()來實現。但是測試的時候發現打開的鏈接被瀏覽器攔截。 之後,開始在網上

js實現window.open不被攔截的解決方法匯總

line bsp pan 測試 ava cli class 頁面 點擊 一、問題: 今天在處理頁面ajax請求過程中,想實現請求後打開新頁面,就想到通過 js window.open 來實現,但是最終都被瀏覽器攔截了。 二、分析: 在谷歌搜索有沒有解決方法,有些說可以通過新

js window.open()打開的頁面關閉後刷新父頁面

interval on() loop tin cti url 頁面 ren open function test(){   var winObj = window.open(URL);   var loop = setInterval(function(){     if(

window.open被瀏覽器攔截的解決方案

方案 attr fun click open target win element blog function newWin(url, id) { var a = document.createElement(‘a‘);

window.open()頁面之間函數傳值

模式 eww 建立 子窗體 name col 觸發 disabled 寬度   項目中遇到的問題,使用window.open()開一個頁面之後,cookie會消失,所以無法一鍵切膚不管作用,解決方案如下: window.open()總結: window.open("sUrl