2012-03-29 80 views
3

我有一个托管在Tumblr上的博客。我有一个单独的主机,用于存储我制作的主题的所有图像,js,css等。但是,我也使用QueryLoader2以某种方式为博客添加了“预加载器”(也就是说,页面将只显示加载栏,直到所有内容都已加载)。jdo的crossdomain.xml?

问题是,我遇到了Access-Control-Allow-Origin问题,因为图像和资源位于不同的域。在使用Flash之前,我记得我可以在远程服务器上定义一个crossdomain.xml,以便某些域能够访问它。但是,这仅适用于Flash。那么,是否有JavaScript的crossdomain.xml对应物(或者,因为这是我使用的框架,jQuery)?

它需要能够与QueryLoader2工作 - >http://www.gayadesign.com/diy/queryloader2-preload-your-images-with-ease/

回答

5

远程服务器必须与Access-Control-Allow-Origin: * HTTP标头响应,要使用JavaScript能够访问这些文件。如果你没有预处理PHP(或任何其他服务器端语言)的响应,则必须设置Web服务器来添加该标题。否则,您可以将其添加到脚本中。

如果Apache Web服务器使用,它使mod_headers,您可以在.htaccess

<filesMatch "\.(jpg|png|gif)$"> 
    <ifModule mod_headers.c> 
     Header set Access-Control-Allow-Origin "*" 
    </ifModule> 
</filesMatch> 
+0

做到这一点是该做的,能够通过的.htaccess?我担心我的主机没有足够的权利来编辑PHP.ini。由于它只是引用图像,所以我不想经历创建用于访问图像的代理PHP文件的麻烦。 – Propeller 2012-03-29 11:20:00

+0

@ShedSurashu查看我的更新回答 – 2012-03-29 11:49:10

+0

完美无瑕地工作。 :) – Propeller 2012-03-29 16:22:26