有沒有辦法當我重新加載頁面的JavaScript有回退如果目標頁面不可用?location.href和後備頁面不可用
例子:
我做
location.href = 'http://www.google.com'
但也許谷歌已關閉(或可能的網址不存在了或者是畸形的,等...),並在此情況下,我想避免重新加載。那可能嗎?
有沒有辦法當我重新加載頁面的JavaScript有回退如果目標頁面不可用?location.href和後備頁面不可用
例子:
我做
location.href = 'http://www.google.com'
但也許谷歌已關閉(或可能的網址不存在了或者是畸形的,等...),並在此情況下,我想避免重新加載。那可能嗎?
您無法識別訪客離開您的頁面後會發生什麼。這是一件好事。也許你在重定向之前檢查,如果你可以連接(客戶端)與JavaScript,如果網站是可用的,然後執行你的重定向。但是你必須在重定向之前檢查,但不能在後退之後檢查。
如果是在同一個域,你可以使用Ajax使用HEAD請求之前location.href
,如:
function doStuff() {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if(this.readyState == 4 && this.status == 200) {
//page exists
location.href = "your_url_of_some_page";
}
xhr.open("HEAD", address);
xhr.send();
}
//call the function
doStuff();
一個棘手的解決方案是之前做一個AJAX請求,如果它成功,然後導航到url – christof13
如果它位於同一個域上,則可以使用使用Ajax BEFORE的HEAD請求location.href thing ..!如果它不在同一個域中,那麼我不認爲它可以完成。 –
我正在尋找任何域的解決方案(如果可能的話)。 –