相对URL仅包含查询字符串

Ros*_*Nab 37 html url query-string

我在页面中有一些链接,只需要更改当前URL的查询字符串部分.

例如,当前页面是:

http://demo.com/bigreport?page=13

我想链接到

http://demo.com/bigreport?page=14

我可以<a href="?page=14">Next</a>用作相关链接吗?

我很惊讶地发现它适用于Chrome.我从来没有见过它记载或提及任何地方,所以我渴望知道是否有人使用这个,如果有更广泛的浏览器支持.

Ros*_*Nab 45

进一步的研究表明,这<a href="?page=14">Next</a> 一个有效的相对URL.

它被记录为WHATWG的URL规范的一部分 http://url.spec.whatwg.org/#relative-state

新URL将继承基本URL的方案,主机,端口和路径.

测试工作:

  • IE 7

  • 注意:如果你的 `&lt;head&gt;` 中有 **`&lt;base href="/"&gt;`** 则不起作用(经过一番苦思冥想才发现) (2认同)

Amy*_*Amy 8

<a href="?page14">Next</a>是因为浏览器将其解释为相对URL.类似于您网站上的链接图像可能如何工作<img src="logo.gif"/>相对网址以这种方式工作(链接相对于当前页面),您不需要使用完整的绝对URL.

浏览器长期以来一直支持这一点.人们可能没有意识到它,因为浏览器会自动处理它.

  • 谢谢 - 我已经看到了相对于当前路径(foo/bar.html),主机(/foo/bar.html),甚至协议(://demo.com/foo/bar.html)的URL,但从未查询字符串,所以我很想知道这是否是标准的一部分并得到广泛支持. (2认同)