スクリプト タグの二重属性の目的を理解する
Web ページのスクリプト タグは複数の属性を持つことができることが一般的に観察されています。この例は、Google の 1 ボタン スクリプト タグで見ることができます。
<script type="text/javascript" src="https://apis.google.com/js/plusone.js"> {"parsetags": "explicit"} </script>
この特定のスクリプト タグは、読み込まれる外部スクリプトを示す src 属性と、スクリプト タグ自体内に直接書き込まれるコンテンツの両方を備えています。 。この設定は何を意味し、どのように動作するのかという疑問が生じます。
ブラウザの処理と Google の実装
Web ブラウザによって、この状況は異なる方法で処理される場合があります。一部のブラウザでは、src 属性で参照される外部スクリプトが正常に読み込まれた場合にのみインライン コンテンツが実行されます。ただし、外部スクリプトの読み込みに失敗した場合でも、インライン コンテンツを実行しようとするものもあります。
この動作の不一致と信頼性の低さのため、HTML5 では、スクリプト タグで二重属性を使用することを推奨していません。このガイダンスにもかかわらず、この特定のケースでは、Google はブラウザの特定の動作に依存しません。
Google スクリプト タグ内のインライン コンテンツ、{"parsetags": "explicit"} はオブジェクト リテラルです。このオブジェクト リテラルを直接実行しても、直ちに影響が生じたり、エラーが発生したりすることはありません。代わりに、Google のコードは、インライン オブジェクトを含むスクリプト タグ自体の内容を調べ、それに応じて動作を調整します。
以上が一部のスクリプト タグに「src」コンテンツとインライン コンテンツの両方が含まれるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。