问题标签 [uri-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 投票
1 回答
2517 浏览

android - 如何滚动到 WebView url 中的命名锚点?

我在 Android 的 WebView 中打开特定命名锚点上的本地存储页面时遇到兼容性问题。目前我正在简单地使用

这在我的 4.1 设备上运行良好,但其他设备的用户一直抱怨它不工作。

例如在4.0.3打开没有url 片段 #fragment部分的页面可以正常打开,但用户会收到“网页不可用”错误。

我还尝试通过对该loadUrl(String)方法的两次调用来打开片段,首先没有然后使用片段。还使用 JavaScript 来更改页面的位置。

我还能尝试什么?

0 投票
2 回答
2732 浏览

gwt - 作为 SAML 令牌身份验证的一部分丢失的 URL 片段;解决方法/标准模式?

几个 Web 应用程序身份验证协议(如 WS-Federation 和 SAML 协议,即所谓的“被动”协议,显然还有 ASP.NET Forms 身份验证,请参阅此 StackOverflow 问题和 AppEngine,请参阅此 GWT 错误评论)丢失原始的“URL 片段”,即#-符号之后的部分。

发生的情况大致如下:在干净的浏览器中(因此没有缓存的信息/cookies/登录信息)我打开 URL (1) http://example.com/myapp/somepage?some=parameter#somewhere。这使得浏览器请求 (2) http://example.com/myapp/somepage?some=parameter,服务器将我重定向到我的身份提供者(包括身份验证请求中的 URL (2)),最终我被重定向回到我来自的地方,即 URL (2):这是服务器知道的唯一 URL。但是我想转到 URL (1),并且 URL 片段('anchor')一直丢失,实际上已经在第一步中。

这似乎是这些协议的基本限制,因为服务器根本看不到 URL 片段。

我知道它是根据浏览器从服务器请求 (2) 的规范,当我导航到 (1) 时,导致对 SAML 协议、WS-Federation 等的这种片段丢失限制。我的问题是:怎么做我解决了这个限制?

显而易见的解决方法是避免 URL 片段,正如这个答案中所建议的那样。但是,对于我们的特定 Web 应用程序来说,这并不好,因为我们在单页 GWT 应用程序中使用了可收藏的 URL 片段,以确保我们的应用程序中的导航不会导致页面重新加载。

我的问题:对于这种情况,还有哪些其他解决方法或标准模式?

(我对 GWT + SAML 协议解决方案特别感兴趣。)

0 投票
1 回答
4491 浏览

url - 在 https://www.google.co.in/#q=better+flight+search 中的“#”之后查询

URL 遵循以下方案

但搜索字符串

更好的航班搜索

导致以下网址

根据 url 方案#,后面是片段。如果我错了,请纠正我,但片段没有发送到服务器,那么谷歌如何显示搜索结果。

0 投票
1 回答
1891 浏览

apache - 使用#(数字符号、哈希、片段)将请求字符串 URL 记录到 apache/httpd 自定义访问日志?

虚拟主机中,我使用CustomLogmod_log_config来记录HTTP 请求

问题是当URL 中有一个(数字符号)时,整个查询字符串没有被记录(访问结果被省略)。#domain.tld/slug/foo^bar#baz"GET /slug/foo%5ebar HTTP/1.1"#baz

是否有任何原因导致#URL 中的字符仅在字符串中的该点才被记录?是否有可用的文档或解决此问题的方法?

0 投票
1 回答
146 浏览

jetty - Jetty 9 移除 URI 片段

我有一个 WebApplication,我想使用web.xml.

这里的 loginConfig 来自web.xml

这里是安全限制:

这工作正常,我被重定向到我可以正确验证自己的所需login.html站点。login.html 看起来像这样:

我现在的问题是,我用于原始 URL 的 URI 片段被转发到登录站点,但在身份验证后不包含回原始站点。因此,我丢失了我想在 WebApp 中检查的所有片段和参数。

有人知道为什么要删除 URI-Fragments 吗?

0 投票
2 回答
1350 浏览

html - CSS 选择器片段支持

URL 中的片段(或哈希)被广泛用于指定文档中的某些特定片段

例如下面的片段

通常引用类似于<div id="<fragment>" /><a name="<fragment>" />在 HTML 文档中的内容。

一个标准支持 CSS 选择器作为片段,如下所示:

有使用它的应用程序吗?浏览器支持它会很好吗?例如,浏览器可以仅显示页面的选定片段或突出显示选定的片段。或者为开发人员提供一个选项,以使用 CSS 或 JS 突出显示选定的片段。有人可以将其作为功能请求提交给相关的浏览器开发人员吗?

引用 HTML 页面中特定内容的其他方法是什么?例如,如果我想评论 HTML 页面中的某个特定元素,还有什么其他方法可以在文档中指定该位置,最好是使用 URI 或其他方便的标识符?

0 投票
0 回答
26 浏览

url - 导航到片段意外更改 URL

我有一个如下所示的网址:

localhost:8080/some-resource/id

和一个看起来像这样的链接:

我原以为单击此链接会产生如下所示的 url:

localhost:8080/some-resource/id#my-section

但相反,我得到:

localhost:8080/#my-section

这是预期的行为吗?(顺便说一下,我正在使用 ReactJS)

0 投票
0 回答
917 浏览

nginx - 使用 nginx 修复 URL 中未转义的 #

一个糟糕的 HTTP 客户端不会转义哈希符号,而是将它们发送到 nginx,如下所示:

代替:

这会破坏我的 nginx 配置,因为 nginx 会删除指令#中的文本。proxy_pass如何逃避井号?

  • Usingreturn 200 "$request_uri";确实告诉我 nginx 正在阅读它,所以它似乎是可能的。然而,Nginx 会分location块忽略它,所以我实际上无法将它与任何东西匹配。
  • 您可以使用以下代码在 Python 中发送未转义的 HTTP GET 请求:

    /li>
0 投票
1 回答
340 浏览

javascript - 用于滚动到使用 JavaScript 生成的元素的 URI 片段标识符

我在页面加载时使用 JavaScript 代码生成 HTML。问题是当使用 URI 片段时,http://example.com/index.html#special-id浏览器不会自动滚动到 id 的元素special-id。至少在 Chrome 中不会发生这种情况。我认为这不起作用,因为#special-id页面首次加载时不存在。只有在 JavaScript 运行之后它才存在。

有没有办法让这项工作变得容易?每次创建具有id属性的新元素时,我总是可以添加 JavaScript 代码来检查 URI 片段并滚动到它。但是在我的情况下,我并不总是控制代码,这并不总是那么容易。如果可能的话,我也宁愿不使用MutationObserver

0 投票
0 回答
371 浏览

html - URL 片段可以指向没有 id 的 HTML 元素吗?

我想提供一个指向外部页面(不受我控制)的链接,该页面具有我希望它指向的特定部分(它是带有附录的许可证页面,我希望链接直接转到附录)。

我通常会#在 URL 中使用 a 来执行此操作,如下所示: https://en.wikipedia.org/wiki/Fragment_identifier#Examples

这使得页面滚动到已经在 HTML 元素上以id="Examples".
问题是当 HTML 页面没有放在id元素上时。

有没有其他方法可以使 URL 指向相关部分?URL 片段是否只接受 id 或者我可以以某种方式使用其他 CSS 选择器?