我不确定有更好的方法来描述我的问题。我将以下 JS 代码重复了几次:
window.kgmp["marker23"]=new InfoBox({
content: "<div class=\"wrapBox\" align=\"left\"><div class=\"imageBox\"><span class=\"imageWrap\"><img src=\"http:\/\/www.MYSITE.com\/wp-content\/uploads\/2011\/04\/Hellespont (3).jpg\" alt=\"\"\/><\/span><\/div><div class=\"specsBox\"><h2>HMS Hellespont<\/h2><div class=\"shortDesc\"><p>one of the last steam paddle tugs to be built, forgotten till the late 1990\u2019s.<\/p><\/div><a class=\"moreInfo\" href=\"javascript:showMarker(23);\">more details »<\/a><\/div><\/div>",
disableAutoPan: false,
maxWidth: 0,
pixelOffset: new google.maps.Size(-134, 0),
zIndex: null,
boxStyle: {
background: "",
border: "none",
font: "12px Georgia",
width: "249px",
height: "115px",
padding: "20px 10px 10px 10px",
position: "absolute"
},
closeBoxURL: "",
infoBoxClearance: new google.maps.Size(1, 1),
isHidden: false,
pane: "floatPane",
enableEventPropagation: false
});
注意:这是生成的代码;这就解释了为什么会有一些不好的格式化做法(例如长行和大量文字)。出于多种原因,标记存储在全局变量中,无需继续“全局变量是邪恶的咒语”,谢谢。
那么,问题出在哪里?
运行该页面几次后,使用 2 个或更多上述代码,我开始注意到 Firebug 中出现很多 404 错误,其中之一是:
“网络错误:404 未找到 - http://www.MYWEBSITE.com/user/holiday-planner/%5C%22http:%5C/%5C/www.MYWEBSITE.com%5C/wp-content%5C/uploads% 5C/2011%5C/04%5C/赫勒斯庞"
以下是一些需要注意的关键点:
- 该图像未在其他任何地方引用。
- 包含图像的 HTML 可以完美运行(调用时)。
- 404错误中的图片URL是错误的。它相对于用户所在的当前页面 (
http://www.MYSITE.com/user/holiday-planner/5-marsascala-zejtun-marsaxlokk-birzebbugia
)。 - 从 javascript 部分看来,代码已正确编码,并且我没有收到任何 JS 错误。
- 我尝试使用 CDATA,但无济于事。再说一次,这更好,因为我不喜欢 CDATA 废话。
- 我正在 Firefox 3.6 上对此进行测试。几分钟后将在其他人身上尝试一下……Chrome 和 Safari 似乎对这个问题免疫。