2011-03-03 78 views
0

我試圖嵌入一些代碼>標籤,但是金字塔不喜歡它<腳本之間腳本> < /並給我如何在chameleon/zpt模板(金字塔)中正確包含javascript代碼?

ExpatError:格式不正確(標記無效)

可能是因爲我在我的代碼中有& &。我試着用&amp;來代替,但後來在瀏覽器中沒有得到解釋。

同樣的事情發生時,我試圖把它放在CDATA塊。

當我將代碼移動到一個單獨的js文件時,它可以工作。現在我想保留它在同一個文件中,只是爲了啓用快速更正。

那麼,我該怎麼做呢?

編輯:

我得到同樣的錯誤,甚至爲模板,像這樣簡單一個:

<html 
    xmlns:tal="http://xml.zope.org/namespaces/tal" 
    xmlns:metal="http://xml.zope.org/namespaces/metal"> 
    <head> 
    </head> 
    <body> 
     <span onclick="alert(true && false);">test</span> 
    </body> 
</html> 

回答

0

看起來像xhtml問題,因爲W3C驗證器報告了相同的錯誤。

我在想如果有一個開關將chameleon解析的文檔類型改爲html,但不能包含tal和metal命名空間。

因此預期的行爲

0

您是否嘗試過加入type屬性的腳本標籤?:

<script type="text/javascript"> 
... 
</script> 
+0

試了 - 不工作。 – soulcheck 2011-03-03 18:45:55

+0

您是否試過逃避&符號? 'alert(true \&\&false);'我遇到過這樣的問題,大括號和Smarty – Shad 2011-03-03 19:10:42

+0

沒有幫助:( – soulcheck 2011-03-03 19:15:45

1

我覺得你應該把& &(即兩次HTML實體代碼)。

+0

我發誓我曾嘗試過。猜我需要睡更多:) – soulcheck 2011-03-07 12:41:56

0

這應該工作:

<script type="text/javascript"> 
    //<![CDATA[ 
     // my javascript 
    //]]> 
</script> 
+0

如果它被註釋掉了,它將不會執行。 – 2012-11-03 21:23:08