2011-07-04 75 views

回答

4

不,您使用json_encode(JSON = Javascript符號)。

var foo = <?php echo json_encode('Foo "Bar" Baz'); ?>; 

htmlspecialchars轉義在HTML中具有特殊含義的字符。 Javascript文字有其他特殊字符需要照顧,所以HTML轉義沒有意義。

+0

是的,我認爲是。但我的老闆說:「這是完全安全的!不是嗎?」我不能抱怨他.. – freddiefujiwara

+1

@freddie呃,甚至可能是真的,如果引號被轉義並且你總是用引號括起你的值(在JS中)。這對於工作來說是錯誤的工具,而且你可能會讓你的價值超出你的需求。 – deceze

+0

我認爲這種混淆可能是由於轉義整個HTML,包括JS文字,以及JavaScript只是通過特殊的HTML語法(通常是標記或屬性)執行的,並且您轉義該HTML語法,因此它不再提供指令=> JS不會被執行:) –