使用window.open(Url),在ios沒有起作用,而且代碼也沒有報錯,並且安卓不會有這個問題,
原因是:大部分現代的瀏覽器(Chome/Firefox/IE 10+/Safari)都默認開啟了組織彈出窗口的策略,原因是window.open被廣告商所濫用,嚴重影響用戶的使用。
這個組織彈出窗口的操作,並不是直接封殺window.open(),而是根據用戶的行為來判定這次操作是不是屬於流氓操作。如果是用戶自己的動作觸發的window.open就不會被阻止,比如寫在onclick事件中,但如果是代碼自動觸發就會被組織的。
Safari中無法open新窗口,原因是Safari的安全機制將其阻止,一些異步操作,比如ajax回調里面執行window.open就會失效,原因是代碼自己自動執行的,被IOS的安全機制攔截!
解決方法:
使用window.location.href = Url;【或者使用window.location.replace()來替代當前的url】