Ajax, Subdomains, 200 Antwort und Bilder - ok?
-
26-09-2019 - |
Frage
Dies ist eine sehr ähnliche Frage an AJAX, Subdomains und die 200 OK-Antwort (und JavaScript Same Origin Policy - Wie funktioniert es auf verschiedene Subdomains ), aber mit einem Twist?. Ich habe eine Situation, in der:
- Eine Domain (www.example.com)
- Wenn die Seite auf einer Subdomain (sd.example.com/cat/id)
- Anforderungen an Ajax-Stil Anforderungen an einen anderen Sub-Domain (cdn.example.com) machen
Im Gegensatz zu der oben genannten Frage, was ich Ihr Interesse ist es, Bilder.
- GET-Anfragen von Bildern (mit jQuery $ .load ())
Das scheint ganz gut zu funktionieren . Weil es ganz gut funktioniert, wenn jemand darauf hingewiesen, es wurde Fehler in Firebug die Same Origin Policy erzeugt, nicht sofort zu mir kommen.
- Bilder WERDEN Laden auf localhost (Apache Virtual URL test.sd.example.com/cat/id)
Aber jetzt, dass es auf diese Frage in den Sinn gekommen ist, dank ich verbunden, ich besorgt bin, dass diese in der Produktion nicht zuverlässig funktionieren.
- Wird diese weiter zur Arbeit in einer Produktionsumgebung - und wird es funktioniert zuverlässig Cross-Browser
Antwort: Nein - es ist nur sah , wie es funktioniert; es war nicht wirklich
- Wenn nicht, wie kann ich es beheben? (Ich glaube nicht, ich kann JSONP Bilder ... kann ich?)
Antwort:. Weiter src der Bildeinstellung und um zu zeigen, warten, bis Ladeereignis ausgelöst
- Wenn ja, wie kann ich die Firebug Fehler stoppen? Wenn ich kann. (Sie sind Erschrecken Kollegen Devs).
Antwort:. Wie oben - werde Schritt loszuwerden, wo tatsächlich GET-Request-Datei für das Bild tut
Initial-Code
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
Lösung
Warum nicht die Bilder in die Seite einfügen, indem Bildelemente zu schaffen und die src Einstellung. was könnte einfacher sein?
edit: ... über Javascript
Ich bin nicht sicher, das ist genau richtig, aber in jquery:
img = $('<img>');
img.attr('src', 'http://somewhere.com/some_image.jpg');
$('#place_to_add').append(img);
img.ready(fade_into_next);
Andere Tipps
checkt diesen Beitrag: JavaScript Same Origin Politik - Wie es zu verschiedenen Sub-Domains gilt