2013-03-08 43 views
30

我在頁面中有一些鏈接,只需要改變當前URL的查詢字符串部分。只包含查詢字符串的相對URL

E.g.當前頁面:

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

,我要鏈接到

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

我可以使用<a href="?page=14">Next</a>作爲相對鏈接呢?

我很驚訝地發現它可以在Chrome中使用。我從來沒有見過它在任何地方記錄或提及,所以我很想知道是否有人使用它,以及是否有更廣泛的瀏覽器支持。

+0

大斑羅斯,這種技術使得某些惱人的小問題更煩人。 – chim 2015-02-24 16:38:55

回答

38

進一步的研究顯示,<a href="?page=14">Next</a>一個有效的相對URL。

它記錄爲WHATWG的URL規範 http://url.spec.whatwg.org/#relative-state

新的URL將繼承基礎URL的方案,主機,端口和路徑的一部分。

測試上下工夫:

  • IE 7
+0

我也想知道這件事 – Aris 2014-02-20 07:28:23

7

<a href="?page14">Next</a>的工作原理是因爲瀏覽器將其解釋爲相對URL。與鏈接圖像在您的網站上的工作方式類似<img src="logo.gif"/>相對URL以這種方式工作(鏈接是相對於當前頁面),您不需要使用完整的絕對URL。

瀏覽器長期以來一直支持這一點。人們可能不知道它,因爲瀏覽器會自動處理它。

+2

謝謝 - 我已經看到相對於當前路徑(foo/bar.html),主機(/foo/bar.html)甚至協議(://demo.com/foo/bar.html)的URL,但從來沒有查詢字符串,所以我很想知道這是否是標準的一部分並且得到廣泛支持。 – 2013-03-08 10:10:16

+0

查詢字符串與任何URI都沒有不同。 – sweetamylase 2013-03-08 10:14:11