jQuery跨域下載圖片是指在網(wǎng)頁中通過jQuery庫下載不屬于當(dāng)前域名下的圖片資源。跨域下載圖片的方法有很多種,下面我們將介紹一種簡單易用的方式。
首先,在jQuery中使用ajax方法下載圖片。由于跨域下載圖片需要對服務(wù)器進(jìn)行請求,因此需要設(shè)置ajax請求的dataType參數(shù)為“jsonp”。
$.ajax({
type: 'GET',
url: 'https://otherwebsite.com/image.jpg',
crossDomain: true,
dataType: 'jsonp',
success: function(response) {
//處理圖片
},
error: function() {
alert('下載圖片失敗!');
}
});
下載完成后,可以在success回調(diào)函數(shù)中進(jìn)行圖片的處理。一般來說,可以使用canvas標(biāo)簽將圖片繪制到畫布上,然后通過toDataURL方法將畫布內(nèi)容轉(zhuǎn)化為base64格式的數(shù)據(jù)URL,最后將該數(shù)據(jù)URL用作圖片的src屬性即可。
var canvas = document.createElement('canvas');
var context = canvas.getContext('2d');
var image = new Image();
image.src = response;
canvas.width = image.width;
canvas.height = image.height;
context.drawImage(image, 0, 0);
var base64 = canvas.toDataURL();
var img = document.createElement('img');
img.src = base64;
$('body').append(img);
以上代碼將跨域下載的圖片以base64格式插入到當(dāng)前頁面中。