2013-02-07 21 views
8

顯然,如果包含文本&not的網址用作字段屬性的一部分,許多瀏覽器都會將其解釋爲'¬'瀏覽器在URL中誤解'&不''

<a href="#" onclick="window.location='http://www.example.com?some_param=1¬ify=true';">Click here</a> 

我發現一對夫婦的替代品與替代&%6Eot&not,或通過發佈形式,而不是得到一個參數化網址:所以這個HTML代碼:爲

<a href="#" onclick="window.location='http://www.example.com?some_param=1&notify=true';">Click here</a> 

將呈現。但職位是並不總是一個受歡迎的選擇和替代是大家公認的黑客 - 它也將需要處理與其他常見的令牌作爲&cent&curren&pound&sect&copy&reg ...(從here採取的列表)。

當然有人有更好的解決方案嗎?

回答

11

元素屬性由HTML解析器解釋,因此您必須將&字符作爲&amp;轉義。即使你不這樣做,大多數情況下它仍然有效,但在某些情況下(比如你的),你必須做到「正確」或者它不起作用。

+0

謝謝,不敢相信我忘了這個! – PinnyM

+0

我總是忘記這一點。我不知道我是否很高興也不會難過,因爲它通常很容易忘記這種方式! – amalloy