【发布时间】:2014-10-07 05:00:14
【问题描述】:
这是来自我支持的系统的用户的问题。该系统是一个基于网络的企业应用程序。我应该注意我不是它的开发者。我之所以不寻求他们的支持是因为他们之前的支持是“我们不需要解决这个问题,我们只是选择不支持它”,老实说,我怀疑除了他们的开发人员之外的任何人都不会理解问题。
用户正在尝试访问此网页中的功能(具体来说,他们正在尝试为业务参与创建条目)。这个函数会生成一个新窗口,用于创建这个新事物,旁边有多个选项卡可以访问不同的部分。虽然窗口确实打开了,并且选项卡甚至出现了,但默认的“常规”选项卡的页面是空白的,并且中间出现了一个弹出窗口,上面写着“XPath Evaluator is Undefined”。窗口在关闭该错误消息后无响应。
用户拥有 IE 10,升级到 IE 11,然后降级到 IE 10 并正常工作。她说她在 Skype 停止运行之前就安装了它,但在卸载 Skype 后就没有让它再次运行。没有清除缓存或重新启动对她有帮助。我无法在我的机器上使用所有浏览器重新创建问题:
- Firefox 33 + FireIE*
- Firefox 31 + FireIE*
- IE 11
- IE 10**
- IE 9**
- IE 8**
- IE 7**
- IE 6**
- 火狐**
- 铬**
- 歌剧**
*FireIE 是一个 FF 插件,它基本上模拟了 Firefox 中的 IE。我让它强制 IE 10 标准。
**IE 11 的开发仿真。
问题是她工作站上的某些东西使网页的代码突然出错。关于什么坏了,为什么坏了,以及可能的修复方法的任何想法?按时间顺序,Skype 似乎是罪魁祸首,我对 Skype 随机破坏随机程序并不陌生,但老实说,我不知道 Skype 怎么可能破坏这样的网络应用程序。我也无法在我的调试控制台中找到似乎正在破坏的代码。哎呀,我什至无法弄清楚正在使用哪个版本的 XPath。
编辑:设法获取似乎导致问题的代码:
function getSelectXMLNodes(doc, path) {
var xpath = new XPathEvaluator();
var result = xpath.evaluate(path, doc, doc.createNSResolver(doc.documentElement), XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
var nodeList = new Array(result.snapshotLength);
for (var i = 0; i < result.snapshotLength; i++) {
nodeList[i] = result.snapshotItem(i);
}
xpath = null;
result = null;
return nodeList;
}
【问题讨论】:
-
你能在她的机器(远程桌面什么的)上运行它并在错误发生时查看调试控制台吗?另外,不清楚用户在哪个版本的IE下出现错误?
-
IE 10,我只能在窗口打开并关闭错误后才能进入控制台。但是,我们发现她的问题有一个解决方法:打开调试!只要启动调试,页面就可以正常导航了。调试也时不时让网页崩溃,但只要我到达页面后按F12,调试器就可以工作。
-
该错误是否实际上表明
XPath Evaluator或XPathEvaluator未定义? (有没有空格?) -
实际上没有空间。我从调试中获取的内容很有意义。在其他新闻中:仔细检查了 Skype 的删除无济于事。但是,我能够让 Firefox+FireIE 为她工作。所以代码错误是特定于 IE 的。这很奇怪,因为该函数的标题(对不起,我错过了复制那个)提到代码只能在非 IE 浏览器中使用。
-
您可能会从stackoverflow.com/questions/13411818/… 以及链接到那里的重复项中获得有用的信息。
标签: internet-explorer xpath webpage