在我們平常的使用中,經常會出現需要離開當前網頁,返回到桌面的情況。這個時候就需要使用Javascript來實現這個功能了。
我們先來看看基本的代碼:
function closeWindow() { window.close(); }
這個代碼的作用就是關閉當前窗口,但是在大多數情況下,我們并不希望直接關閉窗口,而是需要返回到桌面。
所以我們需要使用一個更加完善的代碼:
function goHome() { if ('standalone' in window.navigator && window.navigator.standalone) { // 如果是在iOS設備上并且使用了Safari瀏覽器,則使用location.href跳轉到主屏幕 location.href = 'data:text/html, <html><body><script>window.location.replace("'+window.location.protocol+'//'+window.location.host+'");<\/script><\/body><\/html>'; } else if(navigator.userAgent.indexOf('Android') > -1) { // 如果是在安卓設備上,則使用location.href跳轉到主屏幕 window.location = "about:blank"; window.close(); } else { // 如果是在其他設備上,則嘗試使用window.opener.history.go(-1)返回上一級頁面 window.opener.history.go(-1); } }
上面的代碼有一個if…else…語句,分別對iOS設備和安卓設備做了特別的處理,如果是在其他設備上則會嘗試使用window.opener.history.go(-1)返回到上一級頁面。
當我們需要使用這個功能的時候,只需調用這個函數即可:
goHome();
這樣我們就可以在不關閉當前窗口的情況下,返回到桌面,方便我們的使用。
除了上面介紹的方法以外,還有一些其他的方法可以實現返回桌面的功能。例如使用window.showModalDialog方法彈出一個對話框,再將窗口關閉。具體代碼如下:
function goHome() { if ('standalone' in window.navigator && window.navigator.standalone) { location.href = 'data:text/html,<html><body><script>window.close();<\/script><\/body><\/html>'; } else { window.showModalDialog("about:blank","_self","dialogwidth:1px;dialogheight:1px;resizable:no"); window.close(); } }
這個方法在實際操作中存在一些風險,并且在部分瀏覽器中可能會失效,建議謹慎使用。
總之,使用Javascript實現返回桌面的功能可以方便我們的使用,但是需要根據具體的情況來選擇適合自己的方法。
上一篇div 箭頭 css
下一篇div 表格奇偶