Salesforce から JavaScript に値を渡すとき、単純に var test = '{!myname}'; を実行できます。しかし、一重引用符のような記号で名前を処理できるようにするには、どうすればこれをエスケープできますか? String.escapeSingleQuote が存在することに気付きましたが、vfpage ではなくクラスでのみ使用できます
1172 次
1 に答える
2
「エンコード機能」の範囲を確認してください(ページ下部)。
var test = '{!JSENCODE(myname)}';
おそらく最高でしょう。これらの関数のヘルプ リファレンスには、ボタン/リンクでのみ機能すると書かれていますが、VF ページで数回使用しました。実際、これらはXSS などの攻撃に対してコードを強化するための推奨される方法です。
どこでも使用し<apex:outputField>
て、たとえば ID でフィールドの内容を取得することもできます。デフォルトでは、テキストデータを出力するほとんどのタグがescape="true"
設定されています。
于 2013-06-10T22:22:59.943 に答える