大量の JavaScript を含むページには、JavaScript 内で JS 文字列としてエンコードされた URL も含まれます。
問題は、Chrome (または単に開発者ツール?) がこれらのエンコードされた URL に、あたかも HTML の一部であるかのように移動しようとすることです。
これは、ページに多くの JavaScript がある場合にのみ発生するようです。
ページは多かれ少なかれ次のようになります。
<body>
....
<script type="text/javascript">
//<![CDATA[
google.maps.event.clearListeners(window.kgmm["marker32"],"click");
google.maps.event.addListener(window.kgmm["marker32"],"click",clicked);
window.kgmp["marker54"]=new InfoBox({
content: "<div class=\"wrapBox\" align=\"left\"><div class=\"imageBox\"><a href=\"#ir_rih\" target=\"_blank\"><span class=\"imageWrap\">"
/* the issue -> */ +"<img src=\"?ajax=1&cls=owAjaxHandler&mtd=thumbnail&i=wp-content\/uploads\/2011\/07\/Bahrija & Fomm ir-rih08.jpg&w=115&h=115\" border=\"0\" alt=\"\"\/><\/"
+"span><\/a><\/div><div class=\"specsBox\"><h2>Fomm Ir-Rih<\/h2><div class=\"shortDesc\"><\/div><a class=\"moreInfo\" href=\"#ir_rih\" onclick=\"return krtShowTabByHash(this);\">more details »<\/a><\/div><\/div>" ,
disableAutoPan: false,
maxWidth: 0,
pixelOffset: new google.maps.Size(-214, 0),
zIndex: null
});
//]]>
</script>
....
</body>
以下は、コンソールでどのように表示されるかのスクリーンショットです。
修正を求めているわけではないことに注意してください。コードを改善する方法についてアドバイスしないでください。
修正ではなく、なぜこれが起こっているのかについての答えを探しています。
注意: CDATA は、chrome が javascript コンテンツを XML 要素として解析するのを止めるはずではありませんでしたか?
問題の原因となっている URL の例:
- まずはこちらへ。
- コンソールを開く (
Right Click -> Inspect Element -> Console tab
) - ページ リストの 2 番目の項目「Mdina, Rabat, Dingli & Baħrija」をクリックします。
- ページの読み込み中にコンソールを見続けると、前述のエラーが表示されるはずです。
注意:誰かがこの質問を「ローカライズされすぎている」とマークしました。それは真実ではないことを指摘したい。私は複数の Web サイトでこの問題に遭遇しましたが、Web サイトがまだ機能しているため、(今まで) あまり考えたことはありませんでした。