问题描述: 从Base64字符串下载的JavaScript文件在IE中不起作用。
解答: 这个问题可能是由于IE浏览器对于Base64编码的JavaScript文件的处理方式不同于其他浏览器所导致的。为了解决这个问题,可以尝试以下几种方法:
function downloadFileFromBase64(base64String, fileName) {
var blob = base64ToBlob(base64String);
var url = URL.createObjectURL(blob);
var a = document.createElement('a');
a.href = url;
a.download = fileName;
a.click();
URL.revokeObjectURL(url);
}
function base64ToBlob(base64String) {
var byteCharacters = atob(base64String);
var byteArrays = [];
for (var i = 0; i < byteCharacters.length; i++) {
byteArrays.push(byteCharacters.charCodeAt(i));
}
var byteArray = new Uint8Array(byteArrays);
return new Blob([byteArray], { type: 'application/javascript' });
}
推荐的腾讯云相关产品:对象存储(COS)。 产品介绍链接地址:https://cloud.tencent.com/product/cos
function downloadFileFromBase64(base64String, fileName) {
var dataURI = 'data:application/javascript;base64,' + base64String;
var a = document.createElement('a');
a.href = dataURI;
a.download = fileName;
a.click();
}
推荐的腾讯云相关产品:对象存储(COS)。 产品介绍链接地址:https://cloud.tencent.com/product/cos
function downloadFileFromBase64(base64String, fileName) {
var blob = base64ToBlob(base64String);
saveAs(blob, fileName);
}
function base64ToBlob(base64String) {
var byteCharacters = atob(base64String);
var byteArrays = [];
for (var i = 0; i < byteCharacters.length; i++) {
byteArrays.push(byteCharacters.charCodeAt(i));
}
var byteArray = new Uint8Array(byteArrays);
return new Blob([byteArray], { type: 'application/javascript' });
}
推荐的腾讯云相关产品:对象存储(COS)。 产品介绍链接地址:https://cloud.tencent.com/product/cos
希望以上方法能够解决您在IE浏览器中从Base64字符串下载JavaScript文件不起作用的问题。如果还有其他疑问,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云