[英]Microsoft Edge: window.open only works correctly at first attempt
[英]Window.open works only first time, otherwise blank page
我試圖在新標簽中打開一個URL,如下所示: window.open('adl:\\\\restofurl', '_blank')
這是第一次運作良好:彈出窗口被阻止並詢問我是否要打開網址。 但是,當我向網站添加彈出窗口的例外時,第二次調用window.open時,chrome只會打開一個空白頁面。 (也不適用於firefox)
當我嘗試window.open('http:\\\\restofurl','_blank')
chrome始終會正確打開它。 它看起來與“adl”部分有問題,但我不知道為什么。 有沒有人有類似的問題?
編輯:
我試圖在Android設備上執行此操作,這是一個應用程序,在您轉到此URL后啟動。 但是,對於非移動設備,行為也是相同的
謝謝你的任何想法。
根據Mozilla開發人員網絡文檔 ,最好使用您嘗試打開的完整URL。
open()
方法創建一個新的輔助瀏覽器窗口,類似於從“文件”菜單中選擇“新建窗口”。 strUrl參數指定要在新窗口中提取和加載的URL。 如果strUrl是一個空字符串,則使用主窗口的默認工具欄創建一個新的空白空窗口(URL about:blank)。請注意,遠程URL不會立即加載。 當window.open()返回時,窗口始終包含about:blank。 URL的實際提取是延遲的,並在當前腳本塊完成執行后啟動。 窗口創建和引用資源的加載是異步完成的。
在您的情況下,瀏覽器不會將adl:\\\\restofurl
識別為合法網址。 這就是它創建一個空白窗口的位置,當您使用http:\\\\restofurl
作為要打開的URL時,您將獲得正確的輸出。
我還建議你使用文檔的絕對路徑打開。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.