像 facebook 一样从 Javascript 更改 URL

2023-12-04

我目前正在开发一个面向 AJAX 的 Web 应用程序。我一直在寻找使用浏览器 URL 复制当前 AJAX 状态(或应用程序状态)的不同方法,因此刷新和后退按钮也可以工作。

在过去的几周里,我看到了涉及使用哈希 (#) 和不同 JS 框架的不同方法。

文档中指出,无法从 JS 更改浏览器 URL。今天我去 Facebook 并打开了一张图片,然后 url 发生了变化(尽管图片是在灯箱中打开的)。图像关闭后,浏览器 URL 变回原始页面。

你知道他们是如何实现这种行为的吗?


HTML5 有一项功能支持您所指的内容。看http://spoiledmilk.dk/blog/html5-changing-the-browser-url-without-refreshing-page.

一些系统通过检查 window.history.pushState 来实现这一点,如果是,则使用它,否则回退到主题标签。如果关注 SEO,请使用 #!代替 #。看http://code.google.com/intl/es/web/ajaxcrawling/docs/getting-started.html.

希望有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

像 facebook 一样从 Javascript 更改 URL 的相关文章

随机推荐

  • 如何正确迁移存储过程?

    我的任务是将站点从旧的客户端服务器转移到新的服务器 我已经从旧服务器完成了 sqldump 并导入到新服务器中 除了使用 mysqli 在 php 中完成的一些 sql 调用之外 它正在工作 我对存储过程不太熟悉 但我注意到失败的是如下所示
  • 如何在 gnuplot 中删除“跳跃”值之间的线?

    我想用包含 跳跃 值的图画一条线 举个例子 当我们绘制几个周期的 sin x 图形并绘制它时 会出现从右到左穿过的不切实际的线 如下图所示 避免这种情况的一个想法可能是使用with linespoints link 但我想在不修改原始数据文
  • 将事件插入带有 Intent 的日历时出错

    我正在尝试将事件插入calendar来自片段 但我不断收到错误 指出没有找到处理 Intent 的活动 这是错误 android content ActivityNotFoundException 找不到处理 Intent 的 Activi
  • 从目录中选择随机文件[重复]

    这个问题在这里已经有答案了 关于如何改进这种方法有什么建议吗 我目前正在使用它从壁纸目录中选择单个壁纸 我知道你不应该再使用 arraylist 但我想不出替代方案 我也不确定如何在目录信息中过滤不止一种类型的文件 即 jpg gif pn
  • 如何在for循环中正确调用递归函数?

    我正在尝试实现一个以目标为参数的方法string and an array with string其中的价值观 目标是检查是否可以使用数组的值构造给定的目标字符串 数组中的单词可以根据需要多次使用 例子 console log canCon
  • 将 Ctrl+Key 发送到第三方应用程序

    Im using a 3rd Party Application that exports a file The application uses a hot key Ctrl E as a shortcut for this functi
  • Sonar 插件不适用于使用 ANT 作为构建脚本的项目

    Problem 我刚刚安装了 Sonar Jenkins 插件 我进入我的配置作业 自由式作业 通过 ANT 构建生成 WAR 文件工件 并执行以下操作 选中声纳复选框 这里没有问题 配置声纳的安装目录 这里没有问题 选中了以下复选框 检查
  • 分页显示最大值并限制其余值

    现在我的分页会显示这样的内容 1 2 3 4 5 6 7 8 9 我怎样才能让它像这样显示 1 2 3 4 5 9
  • 如何在 OS X 中使用“SecItemAdd”存储对称密钥?

    我想在 OS X 的钥匙串中存储对称密钥 我通过 Apple DevDocs 阅读了我应该使用的内容SecItemAdd为此 我还阅读了 CryptoExercise 但没有给我任何解决方案 但是当我这样做时 我总是得到 OSStatuse
  • 从数组创建对象树

    我想从数组中创建一个对象树 这里向我提供了一个很好的解决方案 我发现了 reduce 方法 Javascript 使用 object create 从字符串构建一棵树实际上 我的需求有点不同 而且我无法适应提供的代码 所以我回到这里寻求帮助
  • 32位pyodbc读取64位访问(accdb)

    我在 Windows 8 1 64 位机器上运行 python 2 7 32 位 我有 Access 2013 和一个 accdb 文件 我试图从 python 和 pyodbc 访问该文件 我可以在 64 位 ODBC 管理器中创建 64
  • gnuplot 无法通过 ssh 命令工作

    所以我有一个 csv 还有一个 plt 文件 我跑gnuplot plt file plt一个png就诞生了 但如果我跑ssh sameuser samemachine gnuplot plt file plt 我收到 pngcario 错
  • ASP.NET Web API获取子列表(分层资源)

    我想使用 ASP NET Web Api 实现以下剩余架构 http mydomain api students http mydomain api students s123 http mydomain api students s123
  • 页面加载时显示 Firefox WebExtension 页面操作

    我一直在尝试通过阅读以下文档来了解如何使用 WebExtension 页面操作 https developer mozilla org en US Add ons WebExtensions manifest json page actio
  • Java 打包/构建 Jar 文件具体常用技术

    我浏览了该网站的所有常见帖子 但我的问题略有不同 打包具有许多其他 jar 文件作为依赖项的简单 Java 应用程序的最佳实践是什么 例如 我有 foo java 其中包含 main 以及从 foo java 访问的 foo1 java f
  • 取矩阵 r 中行的平均值

    我有以下深度和温度数据矩阵 855 行 2 列 并且想取每列中每 3 行的平均值 例如 1 6 7 18 91 2 5 4 18 91 3 4 0 18 59 4 6 7 20 37 5 6 7 20 05 6 2 7 20 21 7 4
  • PYQT:如何捕获python解释器的输出并将其显示在QEditText中?

    参考帖子here 有人可以给我详细解释如何将 print 语句的输出附加到 PYQT 中的 QEditext 我尝试了上面给出的代码 但它不完整 我得到 TypeError connect slot argument should be a
  • PHP 和 MySQL 错误:类 mysqli_result 的对象无法转换为字符串 [重复]

    这个问题在这里已经有答案了 我收到错误 mysqli result 类的对象无法转换为字符串 Code
  • 强命名会导致 C# 中的对象序列化出现问题吗?

    我序列化一些配置对象并将结果字节存储在数据库中 new BinaryFormatter Serialize memoryStream instance Convert ToBase64String memoryStream ToArray
  • 像 facebook 一样从 Javascript 更改 URL

    我目前正在开发一个面向 AJAX 的 Web 应用程序 我一直在寻找使用浏览器 URL 复制当前 AJAX 状态 或应用程序状态 的不同方法 因此刷新和后退按钮也可以工作 在过去的几周里 我看到了涉及使用哈希 和不同 JS 框架的不同方法