javascript - 对象不支持此属性或方法 btoa

标签 javascript

我知道这里已经有一个问题和解决方案,但我对 javascript 知之甚少,而且我似乎无法弄清楚他们说要添加什么或添加到哪里。它的链接在这里:IExplorer: SCRIPT438: Object doesn't support property or method 'btoa'

有人可以向我解释他们正在做什么以使其发挥作用吗?谢谢。

最佳答案

旧版浏览器可能不支持 Window.bota ,这基本上是一种将字符串转换为 base64 表示的奇怪命名方法,您可能知道。

在旧版浏览器中提供新功能称为“填充”。将脚本 base64.js ( download ) 或 base64.min.js ( download ) 放在您的网站上(我假设您正在使用后者,并将其放在 /js/vendor 目录中),并因此引用它(之前你需要使用 Window.bota) :

<script src="/js/vendor/base64.min.js"></script>

如果浏览器较新,此脚本将不会执行任何操作(即,它不会替换现有的 Window.btoa 实现)。如果浏览器较旧,它现在将具有该功能。

如果你想避免额外的 HTTP 请求来读取 base64.min.js,你可以使用 yepnope :

yepnope({
  test: window.btoa && window.atob,
  nope: '/js/vendor/base64.js',
  callback: function () {
    // `btoa` and `atob` are now safe to use
  }
});

关于javascript - 对象不支持此属性或方法 btoa,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21462969/

相关文章:

javascript - Internet Explorer lastChild.id 无法正常工作

javascript - 将值从 javascript 传递到 html

javascript - 为什么我得到日志未定义

javascript - 如何找出 JavaScript Promise 中返回的类型

javascript - 扩展 RegExp 以获取文件扩展名

javascript - 如何检测浏览器是否能够通过拖放接收文件

javascript - 选择 b 标签正下方的同级标签

javascript - Canvas 描边和填充颜色

javascript - 所有事件完成后,如何在 jquery ajax 中发布单曲?

javascript - React - 如何向对象添加动态键/值对?