2010-11-19 52 views
0

这是一个非常类似的问题AJAX, Subdomains and the 200 OK response(和JavaScript Same Origin Policy - How does it apply to different subdomains?),但有一个转折点。我有一个情况,即:Ajax,子域名,200响应和图像 - 好吗?

  • 域(www.example.com)
  • 凡在页面的子域(sd.example.com/cat/id)
  • 需要做出ajax- (cdn.example.com)

与上述问题相反,我所要求的是图像。图像

  • GET请求(使用jQuery $ .load())

这似乎是工作得很好。因为它工作的很好,当有人指出它在Firebug中产生错误时,同源策略并没有立即出现在我身上。

  • 图片在本地主机加载(test.sd.example.com/cat/id的Apache的虚拟主机URL)

然而,现在,它已经到了由于这个问题我记我担心这在生产中不能可靠地工作。

  • 将这个继续在生产环境中的工作 - 并且将它可靠地工作跨浏览器?

答:不 - 它只看着就像是工作;它不是真的

  • 如果不是,我该如何解决它? (我不认为我能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 
+0

什么为想获得的图像数据,而不是使用的原因是什么? – 2010-11-19 14:29:15

+0

因为该页面有幻灯片,其图像平均总大小为375kb(但最高为2mb)。当需要加载图像时,它们似乎不是最佳的,因为它们轮到幻灯片放映。不,没有缩略图。 (所以我可以使用通常用于拇指,然后在点击时将全尺寸图像加载到iframe中)。而且,是的,我认为这是愚蠢的。而且,不,我无能为力。我想我可以包裹我目前使用的所有位置