您好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更新。