显然,如果包含文本¬
的网址用作字段属性的一部分,则许多浏览器会将其解释为'¬'。所以这个HTML代码:
<a href="#" onclick="window.location='http://www.example.com?some_param=1¬ify=true';">Click here</a>
将呈现为:
<a href="#" onclick="window.location='http://www.example.com?some_param=1¬ify=true';">Click here</a>
我通过用¬
替换&%6Eot
,或者通过POST表单而不是GETting参数化的URL来找到几个替代方案。但是POST并不总是一个受欢迎的替代方案,而且替换肯定是一个黑客 - 它还需要处理其他常见的令牌¢
,¤
,£
,§
,©
,®
...(摘自here)。
当然有人有更好的解决方案吗?
答案 0 :(得分:14)
元素属性由HTML解析器解释,因此您必须将&
个字符转义为&
。它大部分时间都可以工作,即使你不这样做,但在某些情况下(例如你的),你必须“正确”做到这一点,否则它将无效。