2010-11-19 5 views
0

Ceci est une question très similaire à AJAX, Subdomains and the 200 OK response (et JavaScript Same Origin Policy - How does it apply to different subdomains?), mais avec une torsion. J'ai une situation dans laquelle:Ajax, sous-domaines, 200 réponses et images - ok?

  • Un domaine (www.example.com)
  • Si la page à un sous-domaine (sd.example.com/cat/id)
  • doit faire ajax- demandes de style à un autre sous-domaine (cdn.example.com)

contrairement à la question ci-dessus, ce que je demande est images.

  • requêtes GET d'images (en utilisant .load jQuery $())

Cela semble fonctionner très bien. Parce que ça fonctionnait très bien, quand quelqu'un a fait remarquer qu'il générait des erreurs dans Firebug, la politique d'origine identique ne m'est pas immédiatement venue à l'esprit.

  • Images SONT chargement à localhost (apache VirtualHost url de test.sd.example.com/cat/id)

Cependant, maintenant qu'il est venu à l'esprit grâce à cette question, je lié, je crains que cela ne fonctionnera pas de manière fiable dans la production.

  • Est-ce que cette continuera à travailler dans un environnement de production - et il fonctionne de manière fiable cross-browser?

Réponse: Non - il ne regardé comme il travaillait; il n'a pas été vraiment

  • Sinon, comment puis-je résoudre ce problème? (Je ne pense pas que je peux jsonp images ... puis-je?)

Réponse: Continuer src mettre l'image & attendre pour montrer que l'événement de chargement déclenché.

  • Si oui, comment puis-je arrêter les erreurs de Firebug? Si je peux. (Ils effarouchement collègues devs.)

Réponse: Comme ci-dessus - se débarrasser de l'étape où faire réellement requête GET pour le fichier image.

code initial

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

Quelle est la raison de vouloir obtenir les données d'image plutôt que d'utiliser ? –

+0

Parce que la page a un diaporama dont les images ont une taille totale moyenne de 375kb (mais jusqu'à 2mb). Il semble moins qu'optimal à quand ce qui est nécessaire est de charger les images comme leur tour vient dans le diaporama. Et, non, il n'y a pas de vignettes. (Donc, je pourrais simplement utiliser normalement pour les pouces, puis charger les images en taille réelle dans un iframe sur clic). Et, oui, je pense que c'est idiot. Et non, je ne peux rien y faire. Je suppose que je pourrais envelopper tous les endroits où j'utilise actuellement dans