我也碰到與Smarty的地方它試圖評估JavaScript作爲Smarty的模板代碼的情況。
在這種情況下,您需要用Javascript包圍{literal}{/literal}
標籤。
然而,在你的情況,我覺得你錯過在select_item(
開始和一個雙引號單引號在onClick
活動結束:
<a href="" onClick="return select_item('<embed src=\"player.swf\" allowfullscreen=\"true\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" FlashVars=\"id=&flv=1257568908_.flv\" type=\"application/x-shockwave-flash\" width=\"450\" height=\"371\"></embed>')">
我如果您確實需要反斜槓 - 不能100%確定HTML文件中包含的雙引號。
對於這一數量的標記,我發現它更容易閱讀和調試,如果你不是內聯做爲onClick
事件的一部分。我用PrototypeJS所以我會處理這件事像這樣
<a href="#" id="doSelectItem">Click Here</a>
//Handle the click event of the above a tag
Event.observe($('doSelectItem'), 'click', function(event) {
var markup = '<embed src=\"player.swf\" allowfullscreen=\"true\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" FlashVars=\"id=&flv=1257568908_.flv\" type=\"application/x-shockwave-flash\" width=\"450\" height=\"371\"></embed>';
if(select_item(markup)) {
//select_item returns true, so let the click event continue
}else {
//select_item returned false so cancel the click event.
Event.stop(event);
}
});
但mozilla錯誤控制檯指出第一個字符的錯誤。 即「<」。現在做什麼? – Fero 2009-11-10 14:13:58