javascript - IE 不支持 charCodeAt?

标签 javascript internet-explorer

我使用以下函数将字符串编码为 base64:

encode: function(input) {
    var output = "";
    var chr1, chr2, chr3;
    var enc1, enc2, enc3, enc4;
    var i = 0;

    do {
        chr1 = input.charCodeAt(i++);
        chr2 = input.charCodeAt(i++);
        chr3 = input.charCodeAt(i++);

        enc1 = chr1 >> 2;
        enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
        enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
        enc4 = chr3 & 63;

        if (isNaN(chr2)) {
            enc3 = enc4 = 64;
        } else if (isNaN(chr3)) {
            enc4 = 64;
        }

        output = output + this.keyStr.charAt(enc1) + this.keyStr.charAt(enc2) + this.keyStr.charAt(enc3) + this.keyStr.charAt(enc4);
    } while (i < input.length);

    return output;
}

但是在 IE 中,我收到以下错误:

 chr1 = input.charCodeAt(i++);
 "Object doesn't supported by this property or method".

你能帮我解决这个问题吗? charCodeAt 函数似乎不起作用。

感谢您的宝贵时间。

最佳答案

它确实看起来像IE支持String#charCodeAt():w3schoolsMSDN .

什么是输入类型

关于javascript - IE 不支持 charCodeAt?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4222206/

相关文章:

javascript - 即removeAttr标题问题

c# - 为什么 JS 调用点击按钮后 IE 不刷新页面?

javascript - 在 Django 中显示来自 API 的 JSON 数据

javascript 没有读取我所有的 if 条件

html - 如何在 IE11 中可视化隐藏 flex 元素?

css - 背景大小 100% 在 IE8 和 IE7 中不起作用

javascript - 带有 javascript 到 IE 的 Firefox XUL 工具栏?

javascript - 更改div中最后一个字母的样式

javascript - Chrome 扩展程序 : Inject JS before page load

javascript - 这个 "for..in"语句为什么以及如何工作?