更改窗口位置 Jquery
Posted
技术标签:
【中文标题】更改窗口位置 Jquery【英文标题】:Change window location Jquery 【发布时间】:2011-04-09 19:16:03 【问题描述】:我正在使用 ajax 加载我的网站内容,并希望在 ajax 成功时更新窗口位置。
如何将窗口位置更新为“/newpage”?我需要用户能够返回并刷新。这可能吗??
【问题讨论】:
【参考方案1】:我假设您正在使用 jquery 进行 AJAX 调用,因此您可以通过将重定向置于成功中来轻松完成此操作,如下所示:
$.ajax(
url: 'ajax_location.html',
success: function(data)
//this is the redirect
document.location.href='/newpage/';
);
【讨论】:
【参考方案2】:您可以为此设置document.location.href
的值。它指向当前的 URL。不需要 jQuery 来执行此操作。
【讨论】:
我不想重定向它们。只需更改网址即可。 如果更改 url,您将强制浏览器尝试请求该 url 服务器端。您不能只是在精神上更改 URL。最好的办法是更改网址的#hash
部分(如果您使用它)。
@user - 你不能更改 URL(除了哈希)没有重定向它们,如果你可以的话,这将是一个巨大的安全问题:)
正如尼克所说,如果不重定向用户,这是不可能的。我没有意识到,您想让用户留在原地。
@NickCraver 然而 Facebook 做到了(尝试在那里滚动浏览你的照片)......我不知道怎么做。【参考方案3】:
您可以在history manipulation API 中使用新的推送/弹出状态功能。
【讨论】:
【参考方案4】:假设您想将 url 更改为同一域中的另一个,您可以使用:
history.pushState('data', '', 'http://www.yourcurrentdomain.com/new/path');
【讨论】:
【参考方案5】:如果您想使用后退按钮,请查看此按钮。 https://***.com/questions/116446/what-is-the-best-back-button-jquery-plugin
使用 document.location.href 更改页面位置,将其放置在成功运行 ajax 的函数中。
【讨论】:
【参考方案6】:我正在编写更改窗口的常用函数
此代码可在所有类型的项目中并行使用
function changewindow(url,userdata)
$.ajax(
type: "POST",
url: url,
data: userdata,
dataType: "html",
success: function(html)
$("#bodycontent").html(html);
,
error: function(html)
alert(html);
);
【讨论】:
以上是关于更改窗口位置 Jquery的主要内容,如果未能解决你的问题,请参考以下文章