首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从Base64字符串下载的JavaScript文件在IE中不起作用

问题描述: 从Base64字符串下载的JavaScript文件在IE中不起作用。

解答: 这个问题可能是由于IE浏览器对于Base64编码的JavaScript文件的处理方式不同于其他浏览器所导致的。为了解决这个问题,可以尝试以下几种方法:

  1. 使用Blob对象: 将Base64字符串转换为Blob对象,然后创建一个URL对象,将Blob对象赋值给URL对象的href属性,最后创建一个a标签,设置其href属性为URL对象的URL,然后模拟点击a标签来下载文件。以下是示例代码:
代码语言:txt
复制
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

  1. 使用Data URI scheme: 将Base64字符串直接嵌入到Data URI scheme中,然后将这个Data URI scheme赋值给a标签的href属性,模拟点击a标签来下载文件。以下是示例代码:
代码语言:txt
复制
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

  1. 使用FileSaver.js库: FileSaver.js是一个用于在浏览器中保存文件的JavaScript库,它提供了一种简单的方式来处理Base64字符串的文件下载。首先引入FileSaver.js库,然后使用saveAs函数来保存文件。以下是示例代码:
代码语言:txt
复制
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文件不起作用的问题。如果还有其他疑问,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Bash如何字符串删除固定前缀后缀

更多好文请关注↑ 问: 我想从字符串删除前缀/后缀。例如,给定: string="hello-world" prefix="hell" suffix="ld" 如何获得以下结果?...如果模式与 parameter 扩展后开始部分匹配,则扩展结果是 parameter 扩展后删除最短匹配模式(一个 # 情况)或最长匹配模式(## 情况)值 ${parameter...如果模式与 parameter 扩展后末尾部分匹配,则扩展结果是 parameter 扩展后删除最短匹配模式(一个 % 情况)或最长匹配模式(%% 情况)值。...e "s/$suffix$//" o-wor sed命令,^ 字符匹配以 prefix 开头文本,而结尾 匹配以 参考文档: stackoverflow question 16623835...Bash如何将字符串转换为小写 shell编程$(cmd) 和 `cmd` 之间有什么区别 如何Bash变量删除空白字符 更多好文请关注↓

30710

NETCORE,实现对AzureBLOB文件上传下载操作

之前文章,说到了SeaweedFS和MinIO,如果是使用微软全家桶的话,那肯定就使用Azure Blob了,更直接、更简单和更高效。 一、什么是Azure Blob?   ...但是,blob经常和数据库一起用来存储不可查询数据,例如图片文件存储Blob,数据库中保存对应用户头像Blob名称或URL。 说白了,其实Azure Blob就是一个文件服务器。...如果项目中有对于图片资源,视频资源,文件等资源,我们就可以考虑到将这些数据都存储Azure Blob。文章后半段我将通过一个简单 .NET Core 程序去操作 Blob 存储对象。...可以直接上传BLOB块 也可以在线下载 三、ASP.NETCore中使用Azure Blob 1、配置并读取配置参数 "AzureADAppSetup": { "blobAccountName...,获取blog字符串时候,用到了{0}占位符来控制我们私钥,那接下来咱们就说说Azure K8s中经常用到了KeyVault技术。

32310

如何绕过XSS防护

() (攻击者剪切选定内容之前执行攻击字符串) onBeforeDeactivate() (当前对象更改activeElement后立即激发) onBeforeEditFocus() (可编辑元素包含对象进入...(ASF)文件处理嵌入ASF文件脚本命令时,会触发此事件) seekSegmentTime() (这是一个元素段时间线上定位指定点并从该点开始播放方法。...有些网站认为评论块任何内容都是安全,因此不需要删除,这就允许我们使用跨站点脚本。 或者系统可以某些东西周围添加注释标记,试图使其无害化。如我们所见,这可能不起作用. <!...还有其他一些站点例子,其中存储cookie用户名不是数据库获取,而是只显示给访问页面的用户。...+\s*|\s*)src/i“使用重音符(同样,Firefox不起作用).

3.8K00

javascript如何将字符串转成变量或可执行代码?

有这样一个需求:当前作用域内有未知一些变量,其中一个函数可以拿到某个变量名字符串,怎么能在函数内通过传进来字符串取到作用域链变量值,示例小 demo 如下: const name = '周小黑...' const age = 18 /** * @param {String} e 变量名字符串 * @returns value 通过变量名字符串作用域链取到变量值 */ function...主要有三种方式: eval() 函数 eval() 函数会将传入字符串当做 JavaScript 代码进行执行,所以下面的字符串可以正确取到变量对应值,eval 对比 new Function 和...setTimeout 定时器 setTimeout 第一个参数我们平时都是传一个函数,它其实也是可以传字符串进去浏览器是可以正常执行node环境中会报错。...实际上浏览器也是不推荐这么用,另外需要注意字符串变量只能访问全局作用域,不能访问局部作用域,如果全局作用域中没有,就是 undefined。

34730

IE10以下IE浏览器form表单提交、a标签等场景下,接收applicationjson类型响应时,会提示是否要下载该json文件

IE10以下IE浏览器并不支持application/json这种response格式,所以需要在服务端先将对象转成json字符串然后,设置Content-Type为text/html类型,再返回,...如果你用是springMVC,那么即使controller层使用response对象设置了响应头信息,也是没有用,因为如果你标识了@Responsebody注解,spring会自动根据你返回值类型判断是否要给你将返回值转成某个视图对象...(具体根据你springMVC配置,一般是json),如果配置是json,那么就会自动返回application/json这种类型,解决方法如下: 1、去掉@Responsebody注解; 2、不要设置返回值...; 3、通过以下两行代码实现数据返回: response.setContentType("text/html;charset=UTF-8"); response.getWritter().print(..."要返回字符串");

84810

Web阶段:第十五章:文件上传&下载

文件上传介绍 文件上传和下载功能是很多系统中非常常见功能。非常重要。...这是需要下载。Content-Disposition是内容-配置,而attachment表示附件,也就是下载一个文件。fileName=后面,表示下载文件名。...完成上面的两个步骤,下载文件是没问题了。但是如果我们要下载文件是中文名的话。你会发现,下载无法正确显示出正确中文名。 原因是响应头中,不能包含有中文字符,只能包含ASCII码。...我们需要使用URLEncoder类先对中文名进行UTF-8编码操作。 因为IE浏览器和谷歌浏览器收到含有编码后字符串后会以UTF-8字符集进行解码显示。...BASE64编解码方式还原响应汉字。

30520

前端网络高级篇(六)网站性能优化

使用data:URL展示图片,它可以页面渲染图片但无需额外HTTP请求,请求格式: 缺点是:...它通过服务端将资源(CSS文件,HTML片段,Javascript代码或者base64编码图片)打包成一个由双方约定字符串分割字符串,并发送到客户端。...然后用Javascript代码处理这个长字符串,并根据他mime-type类型和传入其他‘头信息’解析出每个资源。...将样式表放在顶部 外部脚本文件和CSS文件是并行下载,把样式表页面位置并不影响下载时间,但会影响页面的呈现!浏览器必须要等样式表加载完毕之后才渲染页面。...defer和async 两者都支持异步加载文件,不同之处是,defer会在全部资源下载完毕后才执行JS文件;async脚本文件下载完就立刻执行,并且,async模式加载JS文件无法依序执行,对于有顺序依赖脚本来说

1.9K30

pycharm如何新建Python文件?_github下载python源码项目怎么用

如果想把项目提交到github有多种方法,最常用还是使用git,当然也可以下载github Desktop这种GUI界面的工具,直接点点鼠标就可以提交项目。...git下载地址:https://git-scm.com/downloads GitHub官网:https://github.com/ git安装很简单,根据默认安装,点击下一步就行。...pycharm设置 pycharm需要配置github账户名和密码,以及要提交仓库,具体操作如下 File-settings 搜索框输入git 如上面图所示,搜索框会出现github,然后在旁边输入你...初始化后会发现该文件夹下多了个.git文件夹。...pycharm配置仓库提交 点击VSC ——》Import into Version Control ——》Share Project on Github 因为有默认名称,我这里是已经建过仓库了

2.8K20

IIS6新增可下载文件类型方法

“扩展名”框,键入文件扩展名。   “MIME 类型”框,键入与客户端计算机上所定义文件类型完全匹配说明。   注意 还可以为无扩展名或未定义 MIME 类型文件创建 MIME 类型。...“扩展名”框,键入文件扩展名。   “MIME 类型”框,键入与客户端计算机上所定义文件类型完全匹配说明。...将 MIME 类型网站或目录删除    IIS 管理器,右键单击要从中删除 MIME 类型网站或网站目录,单击“属性”。   单击“HTTP 头”选项卡。   单击“MIME 类型”。   ...“注册 MIME 类型”列表,单击要删除 MIME 类型,然后单击“删除”。   单击“确定”。   ...如:   要增加*.ISO文件为可下载,操作步骤如下,    IIS 管理器,右键单击要为其添加 MIME 类型网站或网站目录,单击“属性”。   单击“HTTP 头”选项卡。

1.2K50

聊点Python:Django利用zipfile,StringIO等库生成下载文件

最近在django要用到文件下载功能,通过查找,发现以下几种方式,就收集在一起,供日后方便查找。 第一种方式:创建一个临时文件。可以节省了大量内存。...ok,因为都是读入到内存,但如果某个文件特别大,就不能使用这种方式,那就应该采用另外一种方式,下面就是展示一下,Django文件下载如何写代码实现。...如果文件非常大时,最简单办法就是使用静态文件服务器,比如Apache或者Nginx服务器来处理下载。...不过有时候,我们需要对用户权限做一下限定,或者不想向用户暴露文件真实地址,或者这个大内容是临时生成(比如临时将多个文件合并而成),这时就不能使用静态文件服务器了。...我们django view,需要用StreamingHttpResponse这两个类。

1.9K40

base64图片转码

然后调用: Base64 CSS使用 .demoImg{ background-image: url("data:image/jpg;base64,/9j/4QMZRXhpZgAASUkqAAgAAAAL......."); } Base64 HTML使用 <img width="40" height="30" src="data:image/jpg;<em>base64</em>,/9j/4QMZRXhpZgAASUkqAAgAAAAL...我们把图像<em>文件</em><em>的</em>内容直接写在了HTML <em>文件</em><em>中</em>,这样做<em>的</em>好处是,节省了一个HTTP 请求。 坏处呢,就是浏览器不会缓存这种图像。...如果你用<em>的</em>是<em>IE</em>8,如果你想编码图片,更简单<em>的</em>方法是,自己写一个HTML网页,把本地图片放进去,然后用<em>IE</em>8打开该网页,然后保存为mht<em>文件</em>,然后用记事本打开mht<em>文件</em>,你就会看 到图片以及被编码过了...<em>在</em>mht<em>文件</em><em>中</em>,每一个NextPart下面都会有类似下面的几行说明字段: Content-Type: image/jpeg Content-Transfer-Encoding: <em>base64</em> Content-Location

3.4K30

JS 图片压缩

文件上传后,访问文件时中也有图片压缩配置选项,不过,能不能自己撸一套 JS 实现图片压缩代码呢?...encoderOptions 可选 指定图片格式为 image/jpeg 或 image/webp 情况下,可以 0 到 1 区间内选择图片质量。如果超出取值范围,将会使用默认值 0.92。...非主流浏览器下载处理 到此可以解决 Chroma 、 Firefox 和 Safari(自测支持) 浏览器下载功能,因为 IE 等浏览器不支持 download 属性,所以需要进行其他方式下载,也就有了代码后续内容...window.atob(encodedStr) encodedStr 必需,是一个通过 btoa() 方法编码字符串,btoa() 是 base64 编码使用方法。...Api 解析:window.navigator // 官方已不建议使用文件下载方式,仅针对 ie 且兼容性 10 以上 // msSaveBlob 仅提供下载 // msSaveOrOpenBlob

25.7K21

图片压缩原理

文件上传后,访问文件时中也有图片压缩配置选项,不过,能不能自己撸一套 JS 实现图片压缩代码呢?...encoderOptions 可选 指定图片格式为 image/jpeg 或 image/webp 情况下,可以 0 到 1 区间内选择图片质量。如果超出取值范围,将会使用默认值 0.92。...非主流浏览器下载处理 到此可以解决 Chroma 、 Firefox 和 Safari(自测支持) 浏览器下载功能,因为 IE 等浏览器不支持 download 属性,所以需要进行其他方式下载,也就有了代码后续内容...window.atob(encodedStr) encodedStr 必需,是一个通过 btoa() 方法编码字符串,btoa() 是 base64 编码使用方法。...Api 解析:window.navigator // 官方已不建议使用文件下载方式,仅针对 ie 且兼容性 10 以上 // msSaveBlob 仅提供下载 // msSaveOrOpenBlob

4.6K31

pdf.js预览pdf文件流(base64

1、前言: 新接手一个老项目,需要改造pdf文件预览效果,接口直接返回pdf文件文件base64字符串,前端只能拿到base64来进行预览。...,放在webapp下面,我把下载以后文件解压重新命名为pdfjs文件夹,如图  3、保存pdf文件流 我这里是一个接口返回包括内容详情,图片,pdf文件等所有内容,点击一条pdf记录,跳转打开新标签页进行预览...因此把接口返回pdf文件base64编码先本地缓存.跳转到我们下载pdf文件夹里面的【viewer.html】文件。...因此需要把base64字段换行符,回车符给去掉。...(base64Index).replace(/[\r\n]/g, ''); var raw = window.atob(base64);//这个方法ie内核下无法正常解析。

14.7K20

前端学习历程

更糟糕是我们网页需要加载一个外部脚本,结果返回一个404,不仅阻塞了其他脚本下载下载回来内容(404)客户端还会将其当成Javascript去解析。...值得注意是pdf文件可以需要被压缩类型剔除,因为pdf文件本身已经压缩,gzip对其效果不大,而且会浪费CPU。...如果将样式表放在底部,浏览器会拒绝渲染已经下载网页,因为大多数浏览器实现时都努力避免重绘,样式表内容是绘制网页关键信息,没有下载下来之前只好对不起观众了。...避免CSS表达式   CSS表达式可以动态设置CSS属性,IE5-IE8支持,其他浏览器中表达式会被忽略。例如下面表达式不同时间设置不同背景颜色。...使用外部Javascript和CSS文件决定因素在于这些外部文件重用率,如果用户浏览我们页面时会访问多次相同页面或者可以重用脚本不同页面,那么外部文件形式可以为你带来很大好处。

1.3K60
领券