gpt4 book ai didi

javascript - 在不回发的情况下向 URL 添加/删除参数(查询字符串的功能)

转载 作者:行者123 更新时间:2023-12-03 04:26:14 24 4
gpt4 key购买 nike

Google 如何在 Gmail 中添加和删除 URL 中的参数而不进行回发。我在这里指的是他们保存草稿的方式,一旦你点击撰写,你可以看到添加了“?compose=new”参数,一旦你开始撰写,他们就会给它一个 ID。

如何在不回发的情况下操作 URL?我正在考虑使用 `history.pushState({}, document.title, "?querystring=1")

但我很想知道是否有更好的方法也与移动浏览器兼容

谢谢`

最佳答案

Gmail 在 URL 中使用哈希来表示不同的文件夹。举个例子,我打开收件箱或者重要文件夹时的URL如下:

https://mail.google.com/mail/u/0/#inbox
https://mail.google.com/mail/u/0/#imp

请注意,inboximp 后面跟着一个哈希。 URL 中哈希值的含义是它链接到页面的一部分。因此,每次 # 之后的 URL 部分发生变化时,浏览器都会识别出该 URL 只是指向同一页面中的一个元素 - 而不是指向不同的页面。因此,不会发出服务器请求。

您可以查看这些答案,以了解有关如何使用 JavaScript 来使用哈希在页面内导航的更多信息:

https://stackoverflow.com/a/2835151/5894241

https://stackoverflow.com/a/3163635/5894241

借助 Angular 等现代 JavaScript 框架,网站经常利用此功能来制作单页应用程序 (SPA)。这些框架将使用哈希值识别要加载的页面,然后使用 AJAX 在幕后加载该页面的内容并在没有回发的情况下显示它。

您可以在此处查看 Angular 如何执行此操作:https://www.w3schools.com/angular/angular_routing.asp

关于javascript - 在不回发的情况下向 URL 添加/删除参数(查询字符串的功能),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43703518/

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