IE 11 Script1028 在函数内传播,已尝试 Array.prototype.push.apply
IE 11 Script1028 on spread within function, tried Array.prototype.push.apply
我有一个 .NET 应用程序可以在 Chrome、FF 和 Edge 中完美运行。我被要求改造我们的一些 javascript 以在 IE 11 中工作。我已经将兼容性更改为 <META http-equiv="X-UA-Compatible" content="IE=11" />
。
我收到了关于大括号内特定展开函数的 Script1028。我已经 运行 几次搜索并尝试以各种形式添加 Array.prototype.push.apply 'fix' 以替换 IE 11 的传播功能。我 运行 通过 Babeljs.io但是好像不知道怎么替换spread函数
这里是破解代码:
createDataTree = function createDataTree(dataset) {
//console.log(bookmarkfolders);
var hashTable = Object.create(null);
dataset.forEach(function (aData) {
return hashTable[aData.DroppableID] = { ...aData,
children: []
};
});
var dataTree = [];
dataset.forEach(function (aData) {
if (aData.parentID != "") hashTable[aData.parentID].children.push(hashTable[aData.DroppableID]);
else dataTree.push(hashTable[aData.DroppableID]);
});
return dataTree;
}
我希望其中有一个简单的部分是我遗漏的,并且有人可以快速向我展示如何改进此传播功能以实现 IE 11 兼容性。提前致谢。
你如何包含 babel 来转译你的代码?
object rest/spread properties 是 ECMAScript 2018 的一部分,IE 不支持。你可以使用像 Babel 这样的转译器。通过 运行:
安装 @babel/plugin-proposal-object-rest-spread
npm install --save-dev @babel/plugin-proposal-object-rest-spread
然后根据 usage.
将其作为插件包含在内
有类似问题的也可以参考 and
另一个选项是你可以定义你自己的函数,你可以参考这个线程中的。
我有一个 .NET 应用程序可以在 Chrome、FF 和 Edge 中完美运行。我被要求改造我们的一些 javascript 以在 IE 11 中工作。我已经将兼容性更改为 <META http-equiv="X-UA-Compatible" content="IE=11" />
。
我收到了关于大括号内特定展开函数的 Script1028。我已经 运行 几次搜索并尝试以各种形式添加 Array.prototype.push.apply 'fix' 以替换 IE 11 的传播功能。我 运行 通过 Babeljs.io但是好像不知道怎么替换spread函数
这里是破解代码:
createDataTree = function createDataTree(dataset) {
//console.log(bookmarkfolders);
var hashTable = Object.create(null);
dataset.forEach(function (aData) {
return hashTable[aData.DroppableID] = { ...aData,
children: []
};
});
var dataTree = [];
dataset.forEach(function (aData) {
if (aData.parentID != "") hashTable[aData.parentID].children.push(hashTable[aData.DroppableID]);
else dataTree.push(hashTable[aData.DroppableID]);
});
return dataTree;
}
我希望其中有一个简单的部分是我遗漏的,并且有人可以快速向我展示如何改进此传播功能以实现 IE 11 兼容性。提前致谢。
你如何包含 babel 来转译你的代码?
object rest/spread properties 是 ECMAScript 2018 的一部分,IE 不支持。你可以使用像 Babel 这样的转译器。通过 运行:
安装 @babel/plugin-proposal-object-rest-spreadnpm install --save-dev @babel/plugin-proposal-object-rest-spread
然后根据 usage.
将其作为插件包含在内有类似问题的也可以参考
另一个选项是你可以定义你自己的函数,你可以参考这个线程中的