我在我的网站上使用了jquery-1.8.0.min.js,我需要在某些情况下进行重定向。
我试过这个:
$('<div></div>').appendTo('body')
.html('<div><h4>Some text....</h4></div>')
.dialog({
modal: true,
title: 'Dialog title...',
zIndex: 10000,
autoOpen: true,
width: 'auto',
resizable: false,
draggable: false,
buttons: {
Ok: function () {
$(this).dialog("close");
var loc = window.location;
var currentURL = loc.protocol + '//' + loc.host + loc.pathname;
var newUrl = loc.protocol + '//' + loc.host + 'Account/LogOn?ReturnUrl=' + urlencode(currentURL);
$('<div style="dispaly:none;"></div>').appendTo('<body>').html('<a id="loginredirect" href="' + newUrl + ' "><br /></a>');
$('#loginredirect').click();
}
},
close: function (event, ui) {
$(this).remove();
}
});
但这不起作用:-( 所以我试试这个:
$('<div></div>').appendTo('body')
.html('<div><h4>Some text....</h4></div>')
.dialog({
modal: true,
title: 'Dialog title...',
zIndex: 10000,
autoOpen: true,
width: 'auto',
resizable: false,
draggable: false,
buttons: {
Ok: function () {
$(this).dialog("close");
var loc = window.location;
var currentURL = loc.protocol + '//' + loc.host + loc.pathname;
var newUrl = loc.protocol + '//' + loc.host + 'Account/LogOn?ReturnUrl=' + urlencode(currentURL);
$(window.location).attr('href', newUrl);
}
},
close: function (event, ui) {
$(this).remove();
}
});
但这也不起作用......
知道问题在哪里?
由于
编辑1: 如果我正在尝试window.location.hrej = newUrl,FF ErrorConsole告诉我这个: NS_ERROR_MALFORMED_URI:组件返回失败代码:0x804b000a(NS_ERROR_MALFORMED_URI)[nsIDOMLocation.href] 在localhost / Content / scripts / jquery-1.8.0.min.js
中并且浏览器不会在IE,FF和Chrome中重定向到newUrl ......
答案 0 :(得分:5)
你不需要jquery,只需尝试,
window.location.href = new_url;
答案 1 :(得分:1)
在第二个示例中,替换此行:
$(window.location).attr('href', newUrl);
这个
window.location.href = newUrl;
应该做你想做的事。
答案 2 :(得分:1)
newURL
在/
loc.host
var newUrl = loc.protocol + '//' + loc.host + 'Account/LogOn?ReturnUrl=' + urlencode(currentURL);
window.location.href = newUrl;