次のコードを含むページを検証しようとすると、W3Cバリデーターは「一般エンティティのシステム識別子を生成できません」というエラーを表示します。
<script type="text/javascript" src="http://view.light-speed.com/teamspeak3.php?IP=85.236.100.27&PORT=27617&QUERY=20274&UID=506987&display=none&font=12px&background=transparent&server_info_background=transparent&server_info_text=%23640d04&server_name_background=transparent&server_name_text=%23640d04&info_background=transparent&channel_background=transparent&channel_text=%23640d04&username_background=transparent&username_text=%23640d04"></script>
エラーをテストするときにバリデーターにこのコードを無視させるにはどうすればよいですか?
W3Cのバリデータツールは不可解なエラーメッセージを提供しますが、実際にはこれを解決するための答えを提供します。メッセージで強調表示した行について文句を言います。
「このエラーの最も一般的な原因は、URL内のエンコードされていないアンパサンドです」
つまり、&
の代わりに&
を使用して、含めるスクリプトにアンパサンドをエンコードする必要があります。したがって、これの代わりに:
<script type="text/javascript" src="http://view.light-speed.com/teamspeak3.php?IP=85.236.100.27&PORT=27617&QUERY=20274&UID=506987&display=none&font=12px&background=transparent&server_info_background=transparent&server_info_text=%23640d04&server_name_background=transparent&server_name_text=%23640d04&info_background=transparent&channel_background=transparent&channel_text=%23640d04&username_background=transparent&username_text=%23640d04"></script>
これを使用する必要があります(&
が&
に置き換えられたことを確認するには、右にスクロールします):
<script type="text/javascript" src="http://view.light-speed.com/teamspeak3.php?IP=85.236.100.27&PORT=27617&QUERY=20274&UID=506987&display=none&font=12px&background=transparent&server_info_background=transparent&server_info_text=%23640d04&server_name_background=transparent&server_name_text=%23640d04&info_background=transparent&channel_background=transparent&channel_text=%23640d04&username_background=transparent&username_text=%23640d04"></script>
その行を置き換えると、多くのエラーが解決します。これが必要な理由については、W3がバリデーターからリンクする 一般的なエラーページ で詳しく読むことができます。