Этот вопрос очень похож на AJAX, Субдомены и ответ 200 OK (и Политика одинакового происхождения JavaScript - как это применимо к различным поддоменам? ), но с твист. У меня есть ситуация, в которой:
- Домен (www.example.com)
- Где страница на поддомене (sd.example.com/cat/id)
- Требуется отправлять запросы в стиле ajax на другой поддомен (cdn.example.com)
В отличие от вышеупомянутого вопроса, я запрашиваю изображения.
- GET запросы изображений (используя jQuery $ .load ())
Кажется, это работает нормально . Поскольку он работал просто отлично, когда кто-то указывал, что он генерирует ошибки в Firebug, политика такого же происхождения не сразу приходит мне в голову.
- Изображения ARE загрузка на локальном хосте (URL-адрес apache VirtualHost для test.sd.example.com/cat/id)
Однако теперь, когда это пришло в голову благодаря тому вопросу, который я связал, я обеспокоен тем, что это не будет надежно работать в производстве.
- Будет ли это продолжать работать в производственной среде - и будет ли оно надежно работать в кросс-браузерном режиме?
Ответ: Нет - он только выглядел так, как будто он работал; это не было действительно
- Если нет, то как мне это исправить? (Я не думаю, что могу JSONP изображения ... я могу?)
Ответ: Продолжайте устанавливать src изображения и ждите, пока не появится событие загрузки.
- Если так, как я могу остановить ошибки Firebug? Если я могу. (Они напугали других разработчиков.)
Ответ: То же, что и выше - избавиться от шага, где фактически выполняется GET-запрос для файла изображения.
Исходный код
function(imageUrl, placeTarget){
var i = new Image();
var img = $(i);
img.hide()
.load(imageUrl, function(e){
// console.log("loadImage: loaded");
placeTarget.attr("src", imageUrl);
return true;
})
.error(function(){
// error handling - do this part
// console.log("loadImage: error");
return false;
});
return;
} // loadImage