Javascript Document.evaluate用于没有名称空间URI的文档崩溃Microsoft Edge
在Windows 10 build 10240的Microsoft Edge上测试。已在内置10586中修复 简介 对Javascript Document.evaluate用于没有名称空间URI的文档崩溃Microsoft Edge,javascript,xml,xmldocument,microsoft-edge,Javascript,Xml,Xmldocument,Microsoft Edge,在Windows 10 build 10240的Microsoft Edge上测试。已在内置10586中修复 简介 对namespaceURI设置为null的文档运行XMLDocument.prototype.evaluate,会使Microsoft Edge中的当前选项卡进程崩溃,使该选项卡的开发工具无响应,将调试信息发送到watson.telemetry.Microsoft.com,并强制重新加载页面 Repro 要复制,请在Microsoft Edge中打开任何网站,点击F12打开开发者工
namespaceURI
设置为null
的文档运行XMLDocument.prototype.evaluate
,会使Microsoft Edge中的当前选项卡进程崩溃,使该选项卡的开发工具无响应,将调试信息发送到watson.telemetry.Microsoft.com
,并强制重新加载页面
Repro
要复制,请在Microsoft Edge中打开任何网站,点击F12打开开发者工具,选择Console,然后运行以下3行javascript:
var doc = document.implementation.createDocument(null, null, null);
var node = doc.createElement('A');
doc.evaluate('B', node, doc.createNSResolver(doc), 9, null);
解决方法 在运行
evaluate
之前,访问上下文节点的baseURI
属性
var doc = document.implementation.createDocument(null, null, null);
var node = doc.createElement('A');
node.baseURI; // Edge workaround http://stackoverflow.com/q/33887400/823663
doc.evaluate('B', node, doc.createNSResolver(doc), 9, null);
最近发布了Windows10(Build10856);请应用此更新以查看问题是否继续存在。我正在进行后期构建,无法再现崩溃。