我已經寫了一個Jquery-Ui對話框來彈出,作爲對特定鏈接的確認。但是,這並沒有正確的重定向到我的刪除頁面。但是,如果我在chrome中打開調試器進行調試,那麼代碼將按預期工作。只有當Chrome調試器打開時,JavaScript重定向才起作用
我發現了同樣的問題,但解決方案似乎不適用於我。這是完全相同的情況。問題在這裏JavaScript redirect not working and works only in Chrome if debugger is turned on
所以,我有我的鏈接
<div id="confirm-dialog">
<div class="dialog-inner">
<p id="confirm-dialog-message"></p>
</div>
</div>
<a href="/Customer/Delete/73865878346587" class="confirmLink" title="Delete Customer" data-confirm-message="Are you sure you want to delete this customer?">Delete</a>
我有我的JavaScript
$('.confirmLink').click(function (e) {
BodyScrolling(false);
var theHref = $(this).attr("href");
var theTitle = $(this).attr("title") == null ? "Confirm..." : $(this).attr("title");
var theText = $(this).attr("data-confirm-message") == null ? "Are you sure?" : $(this).attr("data-confirm-message");
$("#confirm-dialog-message").html(theText);
$("#confirm-dialog").parent().css({ position: "fixed" }).end().dialog("open");
$("#confirm-dialog").dialog({
title: theTitle,
close: function() {
BodyScrolling(true);
},
buttons: [
{
text: "Yes",
class: "mws-button red",
click: function() {
$("#confirm-dialog").dialog("close");
window.location.href = theHref;
return false;
}
},
{
text: "No",
class: "mws-button black",
click: function() {
$("#confirm-dialog").dialog("close");
}
}]
});
return false;
});
所以,當我點擊我的刪除鏈接,我確實提出與我同是和確認對話框沒有按鈕,css樣式正確,並且已經捕獲鏈接href並將其綁定到「是」按鈕。如果我點擊「否」,我會被踢回去,沒有進一步的發生 - 正確!
如果我點擊是,它應該把我發送到它捕獲的原始href。我已經在重定向之前點擊Yes按鈕時觸發警報(theHref),並且它向我顯示正確的地址(/ Customer/Delete/73865878346587),但重定向不會發生。
當我打開chrome調試器來調試javascript或查看是否有任何錯誤發生,那麼一切按預期工作,並正確地重定向我!
在IE中,它也不起作用。
我已經試過......
window.location.href = theHref
window.location = theHref
location.href = theHref
$(location).attr('href', theHref)
我也嘗試添加返回false;在我重定向之後。什麼都沒有
我在上面向同一個問題添加的鏈接表示要確保「是」按鈕正在頁面上呈現爲......我的位置。
任何人都可以擺脫任何光線?
什麼其他的瀏覽器?請參閱@ Th3BFG,window.location = url或window.location.assign(url)的響應。 – ronnyfm
我試過Chrome,即8,9,10,Firefox。我已經嘗試了其他建議,但仍然沒有:( – jonhoare