我正在使用ChildNode.remove()和我所描述的Mozilla,我需要一个IE的多填充。我使用的是webpack配置的babel聚脂填充:
"babel-polyfill": "^6.13.0",
"webpack": "^2.4.1",
webpack.config.babel.js:
entry: ['babel-polyfill', join(__dirname, path, "index.web.js") ],
我的假设是,babel-polyfill将为我提供我所需要的所有常见的填充--但事实并非如此,我在Internet 11中有一个错误。我错过了另一个配置吗?
谢谢
发布于 2017-05-03 09:44:00
据我所知,babel-polyfill
包只是填充javascript对象,Childnode.remove()
是DOM的一部分,所以babel不会对它做任何事情。我建议您只使用Mozilla文档中建议的多填充。
// from:https://github.com/jserz/js_piece/blob/master/DOM/ChildNode/remove()/remove().md
(function (arr) {
arr.forEach(function (item) {
if (item.hasOwnProperty('remove')) {
return;
}
Object.defineProperty(item, 'remove', {
configurable: true,
enumerable: true,
writable: true,
value: function remove() {
this.parentNode.removeChild(this);
}
});
});
})([Element.prototype, CharacterData.prototype, DocumentType.prototype]);
发布于 2017-09-25 18:59:48
作为一个替代(或除了)巴别塔-多填充,你可以看看Polyfill.io。
与babel-polyfill
类似,Polyfill.io将提供核心Javascript功能(例如Array.from
),但与babel-polyfill不同,它还能填充DOM行为(例如ChildNode.remove()
)。默认情况下,它使用浏览器用户代理字符串来确定哪些填充是必需的,从而防止现代浏览器需要下载它们不需要的多填充。
Polyfill.io没有提供babel-polyfill
所提供的主要功能是支持生成器函数(由重新生成器-运行时提供),因此为了实现完整的功能,您需要包括它而不是整个babel-polyfill
。
发布于 2018-09-27 00:39:14
我创建了一个小的多填充npm。会让你的生活更轻松。https://www.npmjs.com/package/element-remove
https://stackoverflow.com/questions/43756244
复制相似问题