IE javascript html编码怪异

时间:2009-12-31 04:43:20

标签: javascript internet-explorer

将其放入IE中的位置栏

javascript:location.href='http://www.google.com/search?q=something&lt=bar'

惊恐地看着它有用地认为&lt实际上意味着&lt;并使其成为<

WTF正在这里?

其他浏览器不这样做。 如何阻止IE执行此操作?

1 个答案:

答案 0 :(得分:1)

由于这是HTML文档的一部分,你应该逃避&amp;将其替换为&amp; amp;

&符号'&amp;'在HTML中标记字符引用实体的开头,例如&amp; lt; &安培; GT;和&amp; eacute;

文档中的文字&符号应写为&amp; amp;

请注意,如果该代码是动态生成的,您还应该转义URL,以便它也可以出现在JavaScript字符串中。

编辑:我可以确认直接在地址栏中粘贴JavaScript代码时会出现此特定问题。毕竟,似乎HTML字符转义规则在这里无关紧要。

我已经搜索了一下,发现这个blog post将该特定行为识别为一个bug。