2012-10-30 27 views
0

我們有一些生成的頁面,其URL包含參數,如http://example.com/page.do?param1=hello。這些頁面包含名稱錨,< name =「here」>像這樣</a>。並有相應的鏈接,引用指定的錨點,像這樣的</a>。今天大多數人稱這些「跳過鏈接」。WebKit在跳過鏈接的URL中丟失參數

點擊跳過鏈接應該導致瀏覽器創建和下面的匹配原單,與命名錨末上漲了一個網址:http://example.com/page.do?param1=hello#here

在Firefox和IE瀏覽器,這工作得很好。在Chrome,Safari和其他基於WebKit的瀏覽器中,參數丟失,導致http://example.com/page.do?#here這對我們的網站無效,並導致404錯誤。有趣的是,如果您手動將完整鏈接放在地址欄中並按Enter鍵,則表現正確。

我已經搜索了一段時間,看到很多關於WebKit的跳過鏈接有問題的討論,但沒有一個匹配這裏它失去參數的情況。

這是參數丟失的一個已知錯誤嗎?有沒有人看過解決方法?

回答

0

我遇到了同樣的問題。從我所能說的這與如下元標記的使用有關:<base href="http://example.com" />。一旦它被設置,我的鏈接指向example.com#foo而不是example.com?foo=bar#foo

知道我發現了這個問題。所以錨定標記的行爲是已知的事情: Is it recommended to use the <base> html tag?

因爲我無法刪除基本標記,我會嘗試用JavaScript處理此問題。