11

こんにちは、検証できない XML があります。問題をこのビットに絞り込みました。

<script type="text/javascript">document.getelementbyid("oxm-1f4a4485-5a1d-45f9-a989-9c65a0b9ceb6").src="http://bid.website.net/display?l=h4siaaaaaaaaad2nmq6cqbrenycw7qjyolfccxmregvcoae0u0sly_agtvaewwn4bg_havwbnebpvmzkkzra_kzzdvoloq4u-hjnp7sii0rxcbzz5vl5kxsrds6wtsfbxmcr9chysuhqbecuckb8cvx4m-pbcxugtdrll6d3dqtihnqukth2yvdkptr67cuzfvlxjlinkul9634lpal_h4mwhso8aabzhw1cdcwjxl6xivgv8agrjxjc_gaaaa==&p=h4siaaaaaaaaabxkmq7cmaxaurcqjjrrsfqqsrm7x3fsrwyvosda8qnj_3ojfgb49o45pblq7e80syzjhopggso9wyzpcpntzkxk1ldtbbi7otmxfj9da1wpjcf10vtxdj9e5_utyj19k2lfssepld5agnqaaaa=&url=http%3a%2f%2flocalhost%2fproject-debug%2fproject.html";</script>

私はそれをXMLバリデーターに入れましたが、吐き出しました:

このページには次のエラーが含まれています: 行 1、列 16 のエラー: EntityRef: ';' を予期しています。

不足している「;」の場所に関するアイデア 行くべきですか?別の問題はありますか?

4

2 に答える 2

27

URL にエスケープされていないアンパサンド&があります。(a) 文字エンティティ ( &amp;) に変更するか、(b) CDATA セクションで囲む必要があります。

CDATA セクションでは&、エスケープされていないような特殊文字をそのままにしておくことができるので、それが最も簡単です:

<script type="text/javascript">
// <![CDATA[
    document.getElementById(...).src="...";
// ]]>
</script>

正確な文字シーケンス以外に、CDATA セクション内に必要なものを含めることができます]]>。コメントは、//CDATA セクションを理解しないブラウザーが<![CDATA[および]]>マーカーを無視するようにするためにあります。

ところで、JavaScript は大文字と小文字を区別します。そうではありgetElementByIdませんgetelementbyid

于 2010-08-07T17:08:06.543 に答える