Я не уверен, что лучше описать мою проблему. У меня есть следующий код 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
});
NB: Это сгенерированный код; что объясняет, почему существуют некоторые плохие методы форматирования (такие как длинные строки и много литералов).
Маркеры хранятся в глобальной переменной по нескольким причинам, нет необходимости продолжать «глобальные переменные - злая мантра», спасибо.
Так в чем же проблема?
После запуска страницы несколько раз, используя 2 или более приведенных выше кода, я начал замечать много 404 ошибок в Firebug, одна из которых:
"Ошибка сети: 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/Hellespont"
Вот некоторые ключевые моменты, на которые следует обратить внимание:
- На изображение больше нет ссылок.
- HTML, содержащий изображение, работает отлично (при вызове).
- URL-адрес изображения в ошибке 404 неправильный . Относительно текущей страницы, на которой находится пользователь (
http://www.MYSITE.com/user/holiday-planner/5-marsascala-zejtun-marsaxlokk-birzebbugia
).
- Из части javascript кажется, что код правильно закодирован, и я не получаю никаких ошибок JS.
- Я пытался использовать CDATA, но безрезультатно. Опять же, это лучше, так как я не люблю CDATA дерьмо.
- Я тестирую это на Firefox 3.6. Через несколько минут попробую на других ... Похоже, что Chrome и Safari неуязвимы для этой проблемы.