javascript - 'ActiveXObject' 未定义 no-undef [React-Js]
问题描述
我正在尝试解析 XML 响应和 ReactJs。
var parser, xmlDoc;
var text = "<bookstore><book>" +
"<title>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</year>" +
"</book></bookstore>";
if (window.DOMParser) {
// code for modern browsers
parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");
} else {
// code for old IE browsers
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(text);
}
如果我删除else部分,上面的代码在 React 中可以正常工作 ,但项目要求是使用 ReactJs 支持 >=IE7 浏览器。如果我将 JS 嵌入到简单的 HTML 页面中,上面的代码也可以正常工作。如果我遗漏了什么,请告诉我。
解决方案
所以使用window.ActiveXObject
而不是仅仅ActiveXObject
为了绕过全局。我假设您的 linter 设置为允许window
.
或设置你的 linter 以允许它
"eslintConfig": {
"globals": {
"window": true,
"ActiveXObject": true
}
}
或者在页面上设置
/* global ActiveXObject */
推荐阅读
- python - 寻找用于管理 Python 环境的跨平台(Linux、MacOS、Windows)工具
- php - 使用多个关键字搜索Mysql数据库
- r - 如何使用 R 中的 pnorm() 函数来验证经验法则?
- javascript - 调用函数返回类名
- c++ - 如何根据构造函数参数模板化类成员函数的代码
- react-native - 创建模态对象需要帮助处理 isVisible 状态
- javascript - 如何使用 Moment.js 更改日期?
- python - 为什么在使用 for 循环加载大量 numpy 数组时,buff/cache 会越来越大?
- laravel - 无法在 Laravel Dusk 中使用正确的环境数据库
- java - 在页面对象模型中读取 excel 数据