web-dev-qa-db-ja.com

バリデータエラー「一般エンティティのシステム識別子を生成できません」を修正

次のコードを含むページを検証しようとすると、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>

エラーをテストするときにバリデーターにこのコードを無視させるにはどうすればよいですか?

5
Jon Edwards

W3Cのバリデータツールは不可解なエラーメッセージを提供しますが、実際にはこれを解決するための答えを提供します。メッセージで強調表示した行について文句を言います。

「このエラーの最も一般的な原因は、URL内のエンコードされていないアンパサンドです」

つまり、&amp;の代わりに&を使用して、含めるスクリプトにアンパサンドをエンコードする必要があります。したがって、これの代わりに:

<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>

これを使用する必要があります(&&amp;に置き換えられたことを確認するには、右にスクロールします):

<script type="text/javascript" src="http://view.light-speed.com/teamspeak3.php?IP=85.236.100.27&amp;PORT=27617&amp;QUERY=20274&amp;UID=506987&amp;display=none&amp;font=12px&amp;background=transparent&amp;server_info_background=transparent&amp;server_info_text=%23640d04&amp;server_name_background=transparent&amp;server_name_text=%23640d04&amp;info_background=transparent&amp;channel_background=transparent&amp;channel_text=%23640d04&amp;username_background=transparent&amp;username_text=%23640d04"></script>

その行を置き換えると、多くのエラーが解決します。これが必要な理由については、W3がバリデーターからリンクする 一般的なエラーページ で詳しく読むことができます。

4
Nick