有完全相同的问题。
花了很长时间才弄清楚问题出在哪里,但在我们的例子中,我们从两个单独的对象文字(Status 和 StatusElements)创建了一个双精度数组。见下文。
Status = {
'new': 10,
'automatic': 15}
StatusElements = {
10: { name: 'new', color: 'black', bgcolor: '#ffd3cf'},
15: { name: 'automatic', color: 'black', bgcolor: '#'}}
var y = [
[Status.new, StatusElements[Status.new].name],
[Status.automatic, StatusElements[Status.automatic].name]
]
由于某种原因,Internet Explorer 在尝试评估上述 y 时会崩溃。
老实说,我不知道为什么 execScript(code); 在 Internet Explorer 中出现上述代码失败。也许这是评估的顺序。也许它会在评估 Status 和 StatusElements 之前尝试评估 y。无论如何,我们通过降低复杂性并让 y 等于一些原始值来修复它。