Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Document.evaluate用于没有名称空间URI的文档崩溃Microsoft Edge_Javascript_Xml_Xmldocument_Microsoft Edge - Fatal编程技术网

Javascript Document.evaluate用于没有名称空间URI的文档崩溃Microsoft Edge

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打开开发者工

在Windows 10 build 10240的Microsoft Edge上测试。已在内置10586中修复

简介

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);请应用此更新以查看问题是否继续存在。我正在进行后期构建,无法再现崩溃。