2010-11-19 4 views
0

Dies ist eine sehr ähnliche Frage zu AJAX, Subdomains and the 200 OK response (und JavaScript Same Origin Policy - How does it apply to different subdomains?), aber mit einem Twist. Ich habe eine Situation, in der:Ajax, Subdomains, 200 Antwort und Bilder - ok?

  • Eine Domain (www.example.com)
  • Wo die Seite auf einer Subdomain (sd.example.com/cat/id)
  • Muss machen AJAX style Anfragen an eine andere Subdomain (cdn.example.com)

Im Gegensatz zu der oben genannten Frage, was ich anfragen Bilder sind.

  • GET-Anfragen von Bildern (mit jQuery $ .load())

Dies scheint zu funktionieren just fine. Da es gut funktionierte, als jemand darauf hinwies, dass es Fehler in Firebug erzeugte, kam mir die Richtlinie für denselben Ursprung nicht sofort in den Sinn.

  • Bilder SIND 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 I verbunden, ich bin besorgt, dass dies in der Produktion nicht zuverlässig funktionieren wird.

  • Wird diese weiterhin in einer Produktionsumgebung arbeiten - und es wird zuverlässig Cross-Browser arbeiten?

Antwort: Nein - es ist nur sah wie es funktioniert; es war nicht wirklich

  • Wenn nicht, wie kann ich es beheben? (Ich glaube nicht, dass ich Bilder JSONP kann ... kann ich?)

Antwort: Weiter src des Bildes & Warte Einstellung zu zeigen, bis Load-Ereignis ausgelöst.

  • Wenn ja, wie verhindere ich die Firebug Fehler? Wenn ich kann. (Sie sind Erschrecken Kollegen Devs.)

Antwort: Wie oben - der Schritt loszuwerden, wo tatsächlich GET-Anforderung für die Bilddatei zu tun.

Anfangscode

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 
+0

was ist der Grund für den Wunsch, die Bilddaten anstatt zu verwenden zu bekommen? –

+0

Da die Seite eine Diashow hat, deren Bilder eine durchschnittliche Gesamtgröße von 375kb (aber bis zu 2mb) haben. Es scheint weniger als optimal zu sein, wenn es darum geht, die Bilder zu laden, wenn sie in der Slideshow kommen. Und, nein, es gibt keine Vorschaubilder. (So ​​könnte ich einfach normalerweise für die Daumen verwenden und dann die Fullsize-Bilder in einem iframe auf Klick laden). Und, ja, ich denke, das ist dumm. Und nein, ich kann nichts dagegen tun. Ich nehme an, dass ich alle Orte, an denen ich gerade arbeite, in in