2015-08-24 78 views
0

我剛剛在一個我還沒有構建的網站上做了一些工作,並且注意到onClick屬性中有一些JavaScript被內聯使用。你可以在內嵌JavaScript中使用HTML實體嗎?

令人費解的是,JavaScript看起來應該不起作用,但它並不是錯誤的。我認爲它不應該起作用的原因是因爲不使用引號',而是使用HTML實體代碼:'

精確下面的代碼:

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

,我就要換這是理所當然的事,但就是這樣的,技術上的,可接受的JS?

回答

2

這段JavaScript嵌入到HTML中。瀏覽器將首先讀取並處理HTML,其中包括解碼任何實體。然後它發現這個HTML的一部分是Javascript,所以它將(通過HTML解碼的這段時間)Javascript傳遞給它的Javascript解釋器來解釋。

的實體和應該進行編碼,因爲他們嵌入HTML裏面,所以你必須首先符合HTML語法。這是舊引號內報價問題。 HTML用HTML實體解決它。

+0

那麼在技術上什麼是首選方案,而不是我將要改變的方案? – Mike

+0

你真的只需要注意轉義'''引號,因爲那些是你的例子中'onclick'屬性的分隔符。所有其他實體都是可選的和多餘的。爲了可讀性和保持代碼大小,這是一個好主意刪除所有不需要的其他實體。 – deceze

相關問題