デペロッパーツールのエラー
迷惑メール多くなったのでGoogleのreCaptchaを導入しました。
すると・・・ガンガンきていた迷惑メール(英語版など)とんと来なくなりました。
さすが、GooglereCaptcha V3・・・と思っていたところに
ChromeのF12でデペロッパーツールを見ると・・・
Uncaught SyntaxError: Unexpected identifierというエラーメッセージが出てました。
なんでこうなったかのか不明ですが、2日間調べてわかった事を忘備録とします。
Uncaught SyntaxError: Unexpected identifier
どうもこの組み合わせがよくない模様・・・
- テーマのCocoon2.2.1.8
- WordPress 5.4.2
- Contact Form7 5.2.1( + reCaptcha V3 )
・・・というか reCaptcha V3を導入をきっかけでJsエラーが発生した模様です。
対処したこと
まず「Uncaught SyntaxError: Unexpected identifier」というのはJavaScriptiptの記述ミスだよ!ということらしいのですがプラグインの記述ミスなんてあるのかしら?という疑問が。なぜかというとググってみても似たような記事かなかったので。
ということは、テーマCocoonが関係あるみたい、なので一度テーマを変えてみたらエラーが解消される。
やっぱり・・・ということで
Cocoon高速化(Jsの縮小化)を /plugins/contact-form-7 を除外してみると、
「Uncaught SyntaxError: Unexpected identifier」エラーが消えました!
結論
- Cocoon
- Contact Form7 ( + reCaptcha V3 )
の組み合わせが合わない様子です。
テーマの更新やプラグインの更新をする際は、どんな内容のアップデートなのか確認する必要がありますね。
よく見るとContact Form7 5.2以上から不具合が出るようでした。
更新内容に
- REST API:
wpcf7_ajax_json_echo
、wpcf7_ajax_onload
フィルターフックを非推奨化し、それらの代用としてwpcf7_feedback_response
、wpcf7_refill_response
フィルターフックを導入。 - フロントエンド CSS: レスポンス出力のスタイルルールは
form
要素のclass
属性を参照する。 - フロントエンド JavaScript: jQuery イベントの使用を廃止。
- reCAPTCHA: スクリプトコードを独立したファイルに移動。
- reCAPTCHA: reCAPTCHA レスポンストークンのフィールド名を
g-recaptcha-response
から_wpcf7_recaptcha_response
に変更。
どうも5.2の更新内容から「Uncaught SyntaxError: Unexpected identifier」エラーとなる原因があるようです。
コメント