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

索引模板未显示,并且控制台中存在错误:

TypeError:尝试分配给只读属性。

它指向以下行:

}), 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";

它是移动浏览器的已知错误,是否已解决?

最佳答案

RSVP的维护者在这里,很抱歉您遇到了这个问题。

首先,看来您使用的是旧版的RSVP。我建议升级。

不幸的是,似乎此问题可能与https://github.com/emberjs/ember.js/pull/5629有关,后者似乎只是在“使用严格”模式下,运行iOS 8的非64位设备的JSC刚刚损坏。根据我的观察,它仅在特定情况下发生,然后仅在所讨论的代码已优化时才发生。

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

如果很快没有解决方案出现,我可能会发布删除了use strict语句的RSVP更新。

10-08 08:40