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

Javascript 对象不支持此属性或方法btoa,javascript,Javascript,我知道这里已经有了一个关于解决方案的问题,但我对javascript了解甚少,我似乎无法理解他们在说什么或在哪里添加。链接如下: 有人能向我解释一下他们在做什么来让它工作吗?谢谢。旧的浏览器可能不支持,这基本上是一种命名奇怪的方法,可以将字符串转换为base64表示形式,您可能知道 在旧浏览器中提供新功能称为“多边形填充”。将脚本base64.js或base64.min.js放在您的网站上,我假设您正在使用后者,并将其放在/js/vendor目录中,然后在需要使用Window.bota之前引用它

我知道这里已经有了一个关于解决方案的问题,但我对javascript了解甚少,我似乎无法理解他们在说什么或在哪里添加。链接如下:


有人能向我解释一下他们在做什么来让它工作吗?谢谢。

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

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


较旧的浏览器可能不支持,这基本上是一种命名奇怪的方法,用于将字符串转换为base64表示形式,您可能知道

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


在页面的页眉添加这一行,它将被修复

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

在页面的页眉添加这一行,它将被修复

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

并非所有浏览器都支持.btoa,因此您必须通过添加脚本或脚本试图调用window.btoa的库来填充非支持浏览器的.btoa。该函数在旧版本的IE中不存在。相反,您必须在标签中包含一个单独的JS文件,该标签将btoa函数添加到窗口对象中。这种脚本称为垫片或多边形填充,手动填充某些浏览器本机不支持的方法。链接的脚本有这样一个用于btoa的垫片。@adeneo我是否只是将其添加到我的文件中,它应该工作,还是我需要调用它?并非所有浏览器都支持.btoa,因此您必须为不支持的浏览器添加多个垫片,您的脚本或脚本使用的库尝试调用window.btoa。该函数在旧版本的IE中不存在。相反,您必须在标签中包含一个单独的JS文件,该标签将btoa函数添加到窗口对象中。这种脚本称为垫片或多边形填充,手动填充某些浏览器本机不支持的方法。链接脚本中有这样一个用于btoa的垫片。@adeneo我是否只需将其添加到我的文件中就可以了,或者我需要调用它?Joshua,如果不知道你在做什么,或者不知道你最初的问题是出于什么动机,回答这个问题真的很困难。如果你需要使用Window.btoa,你必须在使用Window.btoa之前添加polyfill…我不知道你还有什么困惑。如果我使用base64文件,我需要添加yepnope函数吗?但是我相信任何使用这个程序的人都会有一个更新的浏览器,所以我可以在没有base64的情况下使用yepnope函数吗?…我只是不明白我是在函数内部添加了polyfill,还是要在函数外部添加polyfill?正如我在回答中指出的,使用yepnope是可选的:如果他们使用的是较新的浏览器,这只会保存一个额外的HTTP请求。但是,如果这是您使用yepnope的唯一目的,那么您已经得到了加载yepnope的HTTP请求,因此您没有获得任何东西。在我看来,你应该忽略yepnope,只包含base64.min.js,到此为止。我只是想给你一个完整的画面。好的,非常感谢!还有一个问题…当我调用base64的脚本时,我到底在哪里执行此操作?我的tableToExcel函数脚本在它自己的jscript文件中。顺便说一句,Joshua,如果不知道你在做什么,或者不知道是什么激发了你最初的问题,回答这个问题是非常困难的。如果你需要使用Window.btoa,你必须在使用Window.btoa之前添加polyfill…我不知道你还有什么困惑。如果我使用base64文件,我需要添加yepnope函数吗?但是我相信任何使用这个程序的人都会有一个更新的浏览器,所以我可以在没有base64的情况下使用yepnope函数吗?…我只是不明白我是在函数内部添加了polyfill,还是要在函数外部添加polyfill?正如我在回答中指出的,使用yepnope是可选的:如果他们使用的是较新的浏览器,这只会保存一个额外的HTTP请求。但是,如果这是您使用yepnope的唯一目的,那么您已经得到了加载yepnope的HTTP请求,因此您没有获得任何东西。在我看来,你应该忽略yepnope,只包含base64.min.js,到此为止。我只是想给你一个完整的画面。好的,非常感谢!还有一个问题…当我调用base64的脚本时,我到底在哪里执行此操作?tableToExcel函数的脚本位于其自己的jscript文件中。顺便说一句,bota在IEbota上不可用。bota在IE上不可用
<meta http-equiv="X-UA-Compatible" content="IE=edge">