更改窗口位置 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的主要内容,如果未能解决你的问题,请参考以下文章

jQuery UI自动完成定位问题

jQuery获取元素相对于窗口的位置

jQuery - 窗口滚动后的可拖动位置问题

Jquery可排序“更改”事件元素位置

更改WPF窗口的启动位置

通过 Jquery 仅更改背景图像的 y 位置