gpt4 book ai didi

javascript - HTML5 历史 API 和书签

转载 作者:搜寻专家 更新时间:2023-10-31 08:21:33 25 4
gpt4 key购买 nike

如果 History API 创建的 URL 不是“真实”URL,那么使用它有什么意义呢?当然,我可以随心所欲地 pushState,但如果我不能将这些 URL 之一作为书签包含在某处,那又有什么意义呢?我真正的问题是——你如何设置一个网络服务器,以便不管输入的地址如何,它只加载一个网络应用程序(保持地址不变,以便我可以使用 JavaScript 引用它来加载相关内容)?

因此,我可以使用 History API 来显示适当的地址,然后当用户稍后返回该站点时让该书签真正起作用。

最佳答案

从历史 API 创建的 URL 绝非虚假。当访问者使用它们加载整个页面时(通过外部超链接或书签或其他),您只需要正确处理它们。您可以在客户端或服务器端执行此操作。

当然,处理 URL 服务器端将完全取决于您如何开发您的应用程序,这有点超出了这个问题的范围。

但是,在客户端,您需要让 JavaScript 解析 URL,然后做出相应的响应。我个人找到了 jQuery Address插件非常适合这个。

像这样包含插件,用 state 包含到应用程序根目录的绝对路径参数:

<script type="text/javascript" src="jquery.address-1.3.min.js?state=/absolute/path/to/your/application"></script>

然后你会得到 jQuery.address在页面加载且 DOM 准备就绪时解析 URL:

// Handle the initial load and make the page look the way it's supposed to
$.address.init(function(e) {
// Address and path details can be found in the event object.
// Explore it a bit via console.log()
console.log(e);
});

对于一个很好的工作示例,我建议查看 this jQuery.address example 的源代码以及the jQuery.address docs .

关于javascript - HTML5 历史 API 和书签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7125353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com