HTML5構文チェックツールには、以下のようなものがあります。
今回は、これらのバリデーションツールで、以下のようなエラーが出たときの解消方法を紹介したいと思います。
Error: The text content of element script was not in the required format: Expected space, tab, newline, or slash but found { instead.
photo by Bernd Eckenfels
目次
エラーが出る原因
エラーが出ている箇所のソースは以下のようになっています。
<!-- head 内か、body 終了タグの直前に次のタグを貼り付けてください。 --> <script src="https://apis.google.com/js/platform.js" async defer> {lang: 'ja'} </script>
これは、Google+ バッジなどを、サイトに挿入した時のタグです。
Googleバッジとは、サイトなどでよく見かける以下のようなもののことです。
エラーは以下。
Error: The text content of element script was not in the required format: Expected space, tab, newline, or slash but found { instead.
なんだか、スクリプト内容のテキストから「{(波括弧)」があることから、フォーマットエラーになっているようです。
この、Googleバッジを貼り付けたときの以下の部分がエラーを起こしているようです。
{lang: 'ja'}
エラーの解消方法
このエラーの解消方法は簡単です。
WordPressのテキストウィジェットや、サイトなどに貼り付けられた、以下の部分を削除してやることです。(正確には波括弧{}で囲まれた部分)
{lang: 'ja'}
上記コードが、何をしているかというと、Googleバッジの言語指定をしています。
ただ、言語指定を取り除く前も
取り除いた後も、表示は変わらないので、特に問題はないのではないかと思います。
波括弧を取り除いたGoogleバッジのタグは、以下のようになります。
<!-- head 内か、body 終了タグの直前に次のタグを貼り付けてください。 --> <script src="https://apis.google.com/js/platform.js" async defer></script> <!-- ウィジェット を表示したい位置に次のタグを貼り付けてください。 --> <div class="g-page" data-href="//plus.google.com/u/0/XXXXXXXXXXXXXXXX" data-rel="publisher"></div>
まとめ
この記事を書いた、2015年2月時点では、Google+ バッジでタグを生成すると、まだスクリプトの中に、波括弧{}を使用した、タグが生成されます。
ただ、Google+ バッジから生成する場合、言語を「英語(アメリカ合衆国)- English (United States)」に変更すると{}などは入らずバリデーションエラーの出ないタグが生成されます。
スクリプトの内容のエラーが気になる場合は、試してみてください。
※あくまで、見た目と、ちょっと動作テストをしただけなので編集は自己責任でお願いします。