我在<pre>
标签中呈现这行代码,以在屏幕上显示为正常文本:
<img src="http://maps.googlea.com/maps/api/staticmap?zoom=7&size=700x540&sensor=false$center=London, England&markers=London, England|Leicester, England|">
然而,它在多个浏览器中被错误呈现为:
<img src="http://maps.googlea.com/maps/api/staticmap?zoom=7&size=700x540&sensor=false¢er=London, England&markers=London, England|Leicester, England|">
由于一分钱符号的转义码是¢
而不是¢
,我看不出为什么会发生这种情况,似乎没有任 法可以防止它。
另外,我的 doctype:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
如果有任何区别,这行代码将通过 Javascript 的 innerHTML 方法添加到文档中。
仅仅因为<pre>
中缺少某些内容。并不意味着您不必再次转义它(doctype 在这里没有区别)。如果您希望&
在屏幕上显示,则&
的任何实例都应使用实体&
。有时您可以在没有它的情况下逃脱,但这只是浏览器正在宽恕它(即使浏览器也不应该尝试使用
整个事情(源)应该是:
<pre><img src="http://maps.googlea.com/maps/api/staticmap?zoom=7&size=700x540&sensor=false&center=London,England&markers=London,England|Leicester,England|"></pre>
顺便说一句,这也适用于属性值,如href
。人们通常是“懒惰”,而不是逃避查询字符串中的和符号,但你真的应该这样做。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(36条)