esc_js() の使い方|説明・引数・注意点

説明

esc_js() は、JavaScriptの文字列として安全に出力できるようにエスケープする関数です。

基本構文

esc_js( string $text ): string

引数

  • $text:エスケープする文字列

戻り値

エスケープ済みの文字列。

使い方(サンプル)

$msg = esc_js( $text );

注意点

  • 属性内のインラインJS(onclick など)向けです。最近は使用を避け、wp_localize_script() や wp_json_encode() が推奨されます。

実務での使いどころ

  • onclick などの、HTML属性の中の、JavaScriptに、文字列を埋め込むとき。

よくあるミスと対処

  • <script> ブロックの中に、値を埋め込むために使っている。<script> には、wp_json_encode() を使うのが、一般的。
  • HTML属性の値として出力するときに、そのまま使っている。属性全体を、esc_attr() でも処理する。

NG例

<script>var name = '<?php echo esc_js( $name ); ?>';</script> <!-- script ブロックには、wp_json_encode が向く -->

OK例

<script>var name = <?php echo wp_json_encode( $name ); ?>;</script>

使い分け早見表

出力先 使う関数
<script> の中の値 wp_json_encode()
onclick などの属性内のJavaScript esc_js()
HTMLの属性値 esc_attr()

関連項目

wp_json_encode()、esc_attr()

公式リファレンス:esc_js() | Function | WordPress Developer Resources

コメント

タイトルとURLをコピーしました