1

Salesforce から JavaScript に値を渡すとき、単純に var test = '{!myname}'; を実行できます。しかし、一重引用符のような記号で名前を処理できるようにするには、どうすればこれをエスケープできますか? String.escapeSingleQuote が存在することに気付きましたが、vfpage ではなくクラスでのみ使用できます

4

1 に答える 1

2

「エンコード機能」の範囲を確認してください(ページ下部)。

var test = '{!JSENCODE(myname)}'; 

おそらく最高でしょう。これらの関数のヘルプ リファレンスには、ボタン/リンクでのみ機能すると書かれていますが、VF ページで数回使用しました。実際、これらはXSS などの攻撃に対してコードを強化するための推奨される方法です。

どこでも使用し<apex:outputField>て、たとえば ID でフィールドの内容を取得することもできます。デフォルトでは、テキストデータを出力するほとんどのタグがescape="true"設定されています。

于 2013-06-10T22:22:59.943 に答える