你能在内联JavaScript中使用HTML实体吗?

Can you use HTML entities inside inline JavaScript?

本文关键字:HTML 实体 JavaScript      更新时间:2023-09-26

我刚刚在一个网站上做了一些工作,我还没有建立,并注意到有一些JavaScript在onClick属性上内联使用。

令人费解的是,JavaScript看起来不应该工作,但它没有错误。我认为它不应该工作的原因是,因为代替引号'的HTML实体代码被用来代替:' .

确切代码如下:

onClick="ga('send', 'event', { eventCategory: 'Place', eventAction: 'Book', eventLabel: 'Open'});"

我将改变这当然是一个问题,但这是,技术上,可接受的JS?

这段Javascript嵌入到HTML中。浏览器将首先读取和处理HTML,其中包括解码任何实体。然后它发现这个HTML的一部分是Javascript,所以它把(此时HTML解码的)Javascript交给它的Javascript解释器来解释。

实体和应该对进行编码,因为它们嵌入在HTML中,所以必须首先符合HTML的语法。这是老的引号内引号问题。HTML用HTML实体解决了这个问题。