您可以使用 XMLHttpRequest 请求外部图像并将它们转换为 ObjectURL。然后将标签中的 src 属性设置<img>
为每个 ObjectURL,它应该可以工作。
由于这是一个非常常见的用例,我们创建了一个库来简化它。只需将 apps-resource-loader ral.min.js放到您的项目中,然后:
var remoteImage,
container = document.querySelector('.imageContainer'),
toLoad = { 'images': [
'http://myserver.com/image1.png',
'http://myserver.com/image2.png' ] }; // list of image URLs
toLoad.images.forEach(function(imageToLoad) {
remoteImage = new RAL.RemoteImage(imageToLoad);
container.appendChild(remoteImage.element);
RAL.Queue.add(remoteImage);
});
RAL.Queue.setMaxConnections(4);
RAL.Queue.start();
请记住,您需要获得manifest.json
XHR 访问的所有域的权限。如果您事先不知道这些图像的托管位置,您可以请求任何网址的许可:
permissions: ['<all_urls>'],
其他用法和获取完整库请查看项目页面:
https ://github.com/GoogleChrome/apps-resource-loader
和一个简单的演示:
https ://github.com/GoogleChrome/apps-resource-loader/tree/master/demo