我们有一些生成的页面,其 URL 包含参数,例如http://example.com/page.do?param1=hello。这些页面内部包含命名锚点,<a name="here">like this</a>。并且有相应的链接引用了命名的锚点,<a href="#here">like this</a>。今天大多数人称这些为“跳过链接”。
单击跳过链接应导致浏览器创建并遵循与原始 URL 匹配的 URL,并在末尾添加命名的锚点: http ://example.com/page.do?param1=hello#here
在 Firefox 和 IE 上,这可以正常工作。在 Chrome、Safari 和其他基于 WebKit 的浏览器上,参数丢失,导致http://example.com/page.do?#here对我们的站点无效,只会导致 404 错误。
有趣的是,如果您手动将完整链接放入地址栏中并按 Enter,它的行为正常。
我用谷歌搜索了一段时间,看到很多关于 WebKit 存在跳过链接问题的讨论,但没有一个与这里丢失参数的情况相匹配。
这种参数丢失是一个已知的错误吗?有没有人看到解决方法?