我希望能够区分当前域和外部域请求的图像,以处理画布和跨域请求。我目前正在代理所有绝对来源的图像,而不是使用
代理本地图像if ( $(this).attr('src').substr(0, 4) == 'http') { …
然而,这显然效率低下。区分当前域上的图像和另一个域上的图像的最佳方法是什么?
答案 0 :(得分:0)
您可以根据地址栏中的内容测试图像src的主机名,如下所示:
var hostname = window.location.hostname;
$.each('img', function(){
if (hostname !== $(this).attr('src'))
{
$(this).attr('src', 'something-else');
}
});
这是假设jQuery。您可能需要调整hostname / img src或将它们子串以获取您想要测试的位。
答案 1 :(得分:0)
感谢rsplak,Felix Kling和jammypeach,我到了那里。我对其他任何人的解决方案:
if (window.location.hostname !== this.src.split('/')[2]) { ...
如果图像托管在解决问题的其他域上,则上述声明仅评估为真。