【问题标题】:Change window location without reloading some divs在不重新加载某些 div 的情况下更改窗口位置
【发布时间】:2012-08-30 17:09:50
【问题描述】:

正如你们许多人所注意到的,当您点击链接以在 Google+ 或 facebook 中从一个页面切换到另一个页面时,URL 会发生变化,正文会发生变化,但页面的某些部分不会,例如聊天框。我相信 AJAX 可以通过从服务器请求 PHP 页面并获得一些结果来更改页面的特定内容,但这不会更改 URL。
实际上,我并不确切知道如何在 Google 中进行搜索,因此,任何关键字/名称/链接都将不胜感激。
如果这有帮助,我正在使用用于 Javascript 的 JQuery 库和用于 PHP 的 Symfony2 框架。

【问题讨论】:

  • @arxanas,太糟糕了,有两个重要缺陷:“请注意,虽然这会更改页面的 URL,但它不允许用户单击后退按钮返回到以前的状态因为您正在替换当前状态,而不是添加新状态。所以,这是正确的行为。”并且:“不幸的是,如果我们相信这个 [维基百科文章],IE9 似乎不会支持这个功能”。我认为 Return 按钮非常重要,而 IE9 尚不支持此功能这一事实将使其在某种程度上成为无用的功能。

标签: php jquery ajax


【解决方案1】:

查看JQUERY 加载方法。

http://api.jquery.com/load/

您需要做的就是使用选择器:

$('mydiv').load('newcontent');

非常强大的功能。查一下!

编辑: 抱歉错过了网址更改。很多时候,URL 的技巧都围绕着 Hashtag。如果您仔细查看 URL,会在某处出现“#”磅符号。这允许站点存储当前状态而无需重新加载。

目前没有办法在浏览器中更改 URL,除非完全重新加载网站。

【讨论】:

  • 我知道大卫。我也想更改网址。如果您没有更好的解决方案,第一个答案看起来很有趣。
  • 有可能更改 URL,因为可能重复:stackoverflow.com/questions/3997181/…
【解决方案2】:

您可以使用 iframe 或 ajax 来保持页面的某些部分静态。要更改 url,您可以使用 hash hack。

window.location.hash  = "pageidentifier"

或者您可以使用 arxanas 提供的 url 中描述的 html 5 技巧

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-07
    • 2011-04-29
    • 2014-01-10
    • 1970-01-01
    • 2013-06-08
    • 2021-01-10
    • 2020-10-04
    相关资源
    最近更新 更多