2011-11-24 48 views
8

我想本質上重新加載頁面我沒有一些可能存在的查詢字符串(從而更改頁面上的內容)。我發現離開href標籤空如此href=""作品,但我不知道這是一種安全的方法,即。它在舊版瀏覽器中工作嗎?一個簡單的HTML鏈接(一)重新加載一個頁面沒有查詢字符串值

編輯:

其實廢品的是,保留爲空不工作(由我一些偉大的測試那裏)。所以,我想現在我的問題是,如何重新加載沒有任何查詢字符串值的同一頁面?並且不知道文件名並且不使用Javascript。我想我正在尋找類似/#的東西。

+0

「不知道文件名和不使用Javascript」基本上意味着你不能這樣做,除非你在已經包含完整路徑的頁面上放置一個鏈接,減去查詢字符串。 –

回答

5

我想我知道一個把戲。當您使用<form>標籤空action,沒有(或GET)method參數它將使用您的網址,但將取代GET參數(查詢字符串)與值的形式,所以:

在頁面http://example.com/foo.html?query=string

<form action=""> 
    <input type="submit" value="hello" /> 
</form> 

如果您按一下按鈕,你將獲得:

  • http://example.com/foo.html(火狐8)
  • http://example.com/foo.html(Internet Explorer 9中)
  • http://example.com/foo.html?(鉻15)
  • http://example.com/foo.html?(Safari瀏覽器5)

編輯:尾隨的問號可能是一個Webkit的問題。

+1

啊,雖然我不想使用你的整個解決方案(形式),有一件事情對我有用。在'href'屬性中傳遞一個問號將成功刪除所有查詢字符串值並導致頁面重新加載,儘管我的URL現在在最後有一個問號,我可以用它來處理我的場景。我的最終代碼如下所示:'Sales' – Chris

+0

href =「?」也是我所建議的。恕我直言,這是最容易使用。 – Boldewyn

-4

是的,你可以試試這個:href="#"

+2

如果沒有更改1)文件名或2)查詢字符串,'#'不會重新加載頁面。 – Chris

+0

是的,我很困惑:s – Banov

0

空href是一個空的相對uri,應該解決基地uri沒有問題。

6

an interesting post about empty URLs。它指的是RFC 3986,它定義了URL。

基本上從規格的角度來看你應該保存,在href=""引用當前頁面。

我認爲所有瀏覽器都堅持這一點,但這只是一個受過教育的猜測。 The HTML5 spec也允許空的URL。

編輯:要符合更新的問題,(幾乎)刪除查詢字符串可以用href="?"完成。

+1

欣賞反饋。雖然它重新加載頁面,但不幸的是,它不清除任何查詢字符串值(道歉,我已經改變了我的問題來反映這一點,我的部分測試不好) – Chris

相關問題