object不支持此属性或方法btoa

时间:2014-01-30 17:10:19

标签: javascript

我知道这里已经存在一个问题,但是我对javascript知之甚少,而我似乎无法弄清楚他们在添加或在哪里添加的内容。它的链接在这里:IExplorer: SCRIPT438: Object doesn't support property or method 'btoa'

有人可以向我解释他们正在做些什么让它发挥作用吗?感谢。

2 个答案:

答案 0 :(得分:4)

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

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

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

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

如果您想避免阅读base64.min.js所需的其他HTTP请求,可以使用yepnope

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

答案 1 :(得分:1)

在页面标题上添加此行,它将被修复

<meta http-equiv="X-UA-Compatible" content="IE=edge">