包含大量 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
) - 点击页面列表中的第二个项目,名为“Mdina, Rabat, Dingli & Baħrija”
- 在页面加载时继续查看控制台,您应该会看到上述错误。
注意:有人将问题标记为“过于本地化”。我想指出这不是真的。我在多个网站上都遇到过这个问题,但从未考虑过(直到现在),因为该网站仍然有效。