Firefix 無法直接將本頁頁本,透過 JavaScript 來操作關閉,可透過另開新
JavaScript 操作 IE, Chrome, Safari 關閉目前頁面為彈出視窗做法
一般較常看到的使用語法為
a 連結元素型: <a href="javascript:window.close();">關閉視窗</a>
按鈕元素型: <input onclick="window.close();" value="關閉視窗" type="button">
但此語法在 Chrome 下經常會和其他語法產生衝突導致效果失效,以下為支援較好的撰寫方式:
改用 window.open('','_self',''); 與 window.close();。
IE、Chrome、Safari 均可關閉視窗。
1 2 3 4 5 6 7 8 9 10 11 12 | <input type="button" value="Close this Window!"> <script type="text/javascript"> var buttonEL = document.querySelector('input'); buttonEL.onclick=function(){ console.log('input click'); closewin(); } function closewin() { window.open('', '_self', ''); window.close(); } </script> |
chrome safari 都在 DW 輸出後點按可關閉。
內網網址與 Firefox 瀏覽器無法使用, Firefox 會回應 Script 無法關閉非由 Script 開啟的視窗。
Firefox 針對無法透過 JavaScript 操作,本頁彈出視窗頁面關閉的處理方式
在啟用頁面使用 JavaScript 將另外開啟新頁面,在新頁面使用 wiodow.colse() 方法,就可以將新開的頁面關閉。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <!doctype html> <html> <head> <meta charset="UTF-8"> <title>解决window.close在火狐下不兼容问题</title> </head> <body> <button type="button" onclick="op()">打開彈出視窗</button> <script type="text/javascript"> function op(){ window.open("closePage.html", "", "height=100, width=100"); } </script> </body> </html> |
closePage.html 頁面下 window.close() 的 JavaScript 方法,讓視窗直接點按後在本頁關閉。
1 | <button type="button" onclick="javascript:window.close()">關閉彈出視窗</button> |
如果