在網頁開發中,打開新窗口是常見的需求。例如,當用戶需要進行一些外部鏈接跳轉時,就需要在新窗口中打開鏈接。在這種情況下,你可能會想要使用window.open()
方法,但這種做法卻不再被瀏覽器所支持。
在最新版本的 Chrome 和 Firefox 瀏覽器中,如果你嘗試使用window.open()
方法來打開一個新窗口,那么瀏覽器會默認將其視為彈出式窗口,從而會被瀏覽器的彈出攔截器所攔截,并阻止窗口彈出。
一個例子:
嘗試運行上面的代碼,你會發現打開了一個被瀏覽器攔截的彈窗,從而看不到 Google 網站。
另一個例子:
打開 Google 網站
這段代碼在過去是一個很常見的打開新窗口的方法,但是在現代瀏覽器中,這種做法也是不被支持的。它會被視為一種觸發了window.open()
方法的做法;雖然它不會被當做彈出窗口而被攔截,但是同樣無法打開一個新的窗口。
在現代瀏覽器中,打開新窗口的正確做法是:
打開 Google 網站
這里使用了target="_blank"
以及rel="noopener noreferrer"
屬性。target="_blank"
告訴瀏覽器在新的標簽頁中打開鏈接,而rel="noopener noreferrer"
是為了防止在安全性方面的攻擊。
總之,在現代瀏覽器中,舊的打開新窗口的方法已經過時,無法使用,因此我們需要使用正確的方式打開新窗口。