Googleバッジが原因でHTML5構文チェックツールでエラーが出るときの解決方法

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

スポンサーリンク
レクタングル(大)広告

エラーが出る原因

The text content of element script was not in the required formatエラー

エラーが出ている箇所のソースは以下のようになっています。

<!-- head 内か、body 終了タグの直前に次のタグを貼り付けてください。 -->
<script src="https://apis.google.com/js/platform.js" async defer>
{lang: 'ja'}
</script>

これは、Google+ バッジなどを、サイトに挿入した時のタグです。

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バッジの言語指定をしています。

ただ、言語指定を取り除く前も

lang ja指定がある場合

取り除いた後も、表示は変わらないので、特に問題はないのではないかと思います。

lang ja指定がない場合

波括弧を取り除いた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バッジ

ただ、Google+ バッジから生成する場合、言語を「英語(アメリカ合衆国)- English (United States)」に変更すると{}などは入らずバリデーションエラーの出ないタグが生成されます。

言語に英語(アメリカ合衆国)を指定

スクリプトの内容のエラーが気になる場合は、試してみてください。

※あくまで、見た目と、ちょっと動作テストをしただけなので編集は自己責任でお願いします。