TypeError:尝试分配给readonly属性.在iOS8 Safari上

mko*_*mko 13 javascript safari ios

您好我的网站上的这个页面在桌面浏览器上工作正常,但在iOS8 Safari上有一个奇怪的错误:

索引模板未显示,控制台中出现错误:

TypeError:尝试分配给readonly属性.

它指向以下行:

}), e("rsvp/promise/all", ["../utils", "exports"], function(e, t) {
    "use strict";
    var r = e.isArray, n = e.isNonThenable;
    t["default"] = function(e, t) {
        var i = this;
        return new i(function(t, a) {
            function o(e) {
                return function(r) {
                    c[e] = r, 0===--u && t(c)
                }
            }
            function s(e) {
                u = 0, a(e)
            }
            if (!r(e))
                throw new TypeError("You must pass an array to all.");
            var l, u = e.length, c = new Array(u);
            if (0 === u) // This is the line with error
                return void t(c);
            for (var h = 0; h < e.length; h++)
                l = e[h], n(l) ? (c[h] = l, 0===--u && t(c)) : i.cast(l).then(o(h), s)
        }, t)
    }
}), e("rsvp/promise/cast", ["exports"], function(e) {
    "use strict";
Run Code Online (Sandbox Code Playgroud)

这是一个已知的移动野生动物园的错误,它有解决方案吗?

Ste*_*ner 8

这里是RSVP的维护者,很抱歉你遇到了这个问题.

首先,您似乎使用的是较旧版本的RSVP.我建议升级.

不幸的是,似乎这个问题可能与https://github.com/emberjs/ember.js/pull/5629有关,这似乎只是因为运行iOS 8的非64位设备的JSC在'use strict'时被破坏了模式.在我的观察中,它只发生在特定情况下,然后只有在有问题的代码得到优化时才会发生.

我不确定升级是否会对您有所帮助,但无论如何都应该考虑它.此外,如果问题仍然存在,删除所有use strict语句可能是最佳选择.

如果很快就没有解决方案,我可能会发布RSVP更新,删除use strict语句.


小智 4

"use strict";您是否尝试过从代码中删除所有 ' ?据我了解,这种情况似乎只发生在第三代 iPad 上。