问题标签 [url-fragment]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
86 浏览

javascript - URL 片段是否有任何官方格式?

在我正在处理的项目中,URL 片段用于更新视图。但是如果视图由 URL 片段更新,则垂直锚点位置会丢失。

有没有官方的方法来格式化 URL 片段以包含视图和锚点?或者浏览器是否已经支持我所询问的内容?

如果没有,是否有任何理由不使用以下内容?

例子

当前标准片段
https://www.example.com/page.html#anchorOnThePage
转到页面,然后滚动查看名为的锚点anchorOnThePage

当前使用 SPA 或 PWA:
https://www.example.com/page.html#view1
转到页面,然后显示名为view1

期望:
https://www.example.com/page.html#view1:anchorOnThePage
转到页面,然后显示一个名为的视图view1,然后滚动到视图anchorOnThePage中。

欢迎反馈,但目前哈希片段主要是我必须使用的。

我可以使用这样的东西:
https://www.example.com/page.html#view=view1&anchor=anchorOnThePage
https://www.example.com/page.html#view:view1&anchor:anchorOnThePage

但是如果使用冒号或句点等简单的分隔符,它可能看起来更清晰,转到视图(第一个索引),然后如果存在则转到锚点(第二个索引)。
https://www.example.com/page.html#view1:anchorOnThePage
https://www.example.com/page.html#view1.anchorOnThePage

更新

我想更多地使用路径,不久前我认为在谷歌的深度链接指南中有一个建议。

建议是这样的http://www.example.com/page.html/view/post/id/101。我认为 WordPress 可以做到这一点。

但是有人对此大惊小怪,他们放弃了它。我不记得所有细节,因此这篇文章。

0 投票
1 回答
582 浏览

nuxt.js - 如何在 nuxt 中间件中获取 url 的“片段”部分?

我想在“隐式”oauth 流中从 AWS COGNITO 重定向后获取 url 中的 access_token。AWS Cognito 将浏览器重定向到:https://mydomain/#access_token=xxxxx

我想在 nuxt“中间件”中获取“access_token=xxxxx”部分进行存储。

它不会出现在“context.req”对象中。我在哪里可以找到它?

0 投票
0 回答
657 浏览

google-chrome - URL 哈希片段中的冒号波浪号 (:~:) 是什么意思?

最近,我注意到有时当我在 Google 上搜索时,Google 可以通过附加这样的哈希片段来突出显示网页的相关部分

它会滚动到“您可以在没有事先协调或征得许可的情况下在文学中使用此域。” 并突出显示它。

我想知道这是什么魔法,它是任何 RFC 或 Web 标准的一部分,还是我正在使用的 Google Chrome?还是谷歌注入/提供的某种 JavaScript 补丁?

0 投票
1 回答
38 浏览

html - 使用元素 ID 回退链接到文本片段

我想链接到一个文本片段,如下所示:

https://pvk.ca/Blog/2019/01/09/preemption-is-gc-for-memory-reordering/#event-counts-with-x86-tso-and-futexes:~:text=However%2C%20if%20we%20go

这个链接1有一个片段如下:

这链接到出现在页面下方的文本“但是,如果我们去”,其中带有 id 的标题event-counts-with-x86-tso-and-futexes作为后备。但是,在 Chrome 中单击此链接时,目标文本仅会短暂显示,然后页面会滚动到#event-counts-with-x86-tso-and-futexes标题。

如果删除#event-counts-with-x86-tso-and-futexes片段的一部分(像这样)它可以正常工作,但是对于不支持链接到文本的浏览器(例如 firefox)没有回退。


1奇怪的是,在问题中单击此处的链接似乎根本不起作用,但如果您复制并粘贴上面的链接,它会起作用。可能SO正在以某种方式对链接进行编码,破坏了片段?

0 投票
1 回答
90 浏览

html - jQuery - 从当前 URL 将哈希附加到 href

假设我在地址栏中有这个 URL:

www.example.com/pt.html#myhash

我还有一个链接到的锚点

我想要存档的是将#myhash 标记附加到该锚点,但前提是它存在于当前URL 中。如果没有,请不要附加任何内容。

0 投票
1 回答
40 浏览

javascript - hash.location 相同时如何重新加载页面 javascript

我有一个放置散列(#feed)的按钮,当我在这个页面上时我想要它,当再次单击该按钮时,它会使用该散列(#feed)重新加载页面。

有没有办法做到这一点?

0 投票
1 回答
52 浏览

url - 服务器端重定向后如何保留 URL 片段?

具体来说,我目前正在开发一个需要这种行为的 Ruby on Rails 应用程序,但在意识到许多关于 SO 的现有问题都涉及特定语言或框架之后,我故意以与语言和框架无关的方式来措辞我的标题。我希望有一些关于如何在任何语言/框架中解决/实施的一般性建议/指南。

背景:

正在开发的应用程序是一个带有登录页面的 Ruby on Rails 应用程序。登录后,某条路线通向一个页面,底部显示一个(某种反馈)表单。这个表单部分可以使用 URL 片段来聚焦(我希望有一个锚点)。

如果用户已经登录,则按照已附加片段的路由的 URL 指向以表单部分为焦点的页面。

但是,我需要一个解决方案,其中一个精心制作的 URL 会导致该部分,而不管用户最初是否登录。如果用户尚未登录,则应显示登录页面,成功登录后,应关注表单部分。

此外,该 URL 将包含在电子邮件中。

但是,该片段在重定向时会丢失,因为它似乎不是由浏览器发送到服务器的,并且重定向是使用以下命令在服务器端执行的:

对于这种可以用任何语言或框架实现的场景,是否有一个好的、简单、干净的解决方案?

虽然我目前确实有一种解决方案,但我对它并不完全满意,因为它看起来有点像黑客。我将在下面将其作为答案发布,希望其他人可以提出更好的解决方案。

0 投票
2 回答
285 浏览

scrapy - Scrapy:(400 Bad Request)HTTP状态码未处理或不允许

因为我是python和scrapy的新手。我一直在尝试抓取一个 URL 碎片化的网站。我正在发出发布请求以获取响应,但不幸的是它没有让我得到结果。

我收到一个不断的错误

当我试图让邮递员检查相同的内容时,我得到了预期的输出。有人可以帮我解决这个问题。

0 投票
1 回答
77 浏览

javascript - Javascript中的哈希刷新

我几乎完成了我之前的问题,但现在我正在处理一些更微妙和烦人的事情。

我有一个页面,其中包含一些链接,例如:

在页面page.html中有一些javascript,如下所示:

所以,我点击第一个链接,我看到(在不同的框架中)页面“page.html”,正确地从锚 #1 开始。最后,javascript 写入“page.html#1”,这是正确的。然后我点击第二个链接,我看到页面“page.html”改变了它的起点,现在正确地设置在锚点 #2。但在页面末尾我仍然看到“page.html#1”,而不是我预期的“page.html#2”。我认为发生这种情况是因为页面与以前完全相同,只是起点发生了变化,因此“location.href”没有改变,尽管散列有所不同。

有没有办法解决这个问题,并获得原始 location.href,即具有正确哈希的那个?

0 投票
1 回答
27 浏览

servlets - Servlet 无法从 URL 获取哈希片段

嗨,从 OAuth 服务器重定向后,我无法在我的 JAVA Servlet 中获取完整的 URL。我的 URL 如下所示 -

https://host.vp.com/gui/MainPage.gdi#scope=openid%20profile&id_token=eyJ0eXAiOiJKV86sada0ajdasJUUEB343KHFKK

我尝试了 request.getRequestURL() 、 request.getRequestURL() 、 request.getPathInfo() ,但没有获得在 # 之后开始的 URL 部分,即 scope=openid%20profile&id_token=eyJ0eXAiOiJKV86sada0ajdasJUUEB343KHFKK,有人可以帮我吗?