我正在将一组缩略图动态加载到phonegap应用程序的列表中。这是我用来加载图像的功能:
var getUserImage = function(src) {
// render the users profile image
var $profileImage;
if ( typeof src ==='undefined' || src === 'placeholder.jpg' || src === '') {
// avoid hitting the server
$profileImage = $('<img />', {
class: 'profile-image responsive-image',
src: 'img/placeholder.png'
});
} else {
var imgSrc = $.app.config.imagePath + src + '?width=200&height=200&crop=auto';
$profileImage = $('<img />', {
class: 'profile-image responsive-image',
src: imgSrc
}).one('error', onImageLoadError);
}
return $profileImage;
};
我修改了else语句,以便对图像加载事件执行console.log。图像(每个大约10-15KB)需要一分钟以上才能加载!这不是服务器问题,它在我的浏览器和安卓系统上都能找到。它只是iOS,这是永远的。
发现它超过了safari浏览器可以处理的请求数。我们在应用程序中使用长轮询,safari web视图限制了到单个域的并发连接数量。
解决方案很简单。将我们的图像从不同的域(或子域)提供给我们用于访问API的域。通过这种方式,您可以增加可以进行的并发连接的数量。