Document.evaluate 对于没有 namespaceURI 的文档,Microsoft Edge 会崩溃
Document.evaluate for documents without namespaceURI crashes Microsoft Edge
在 Windows 10 build 10240 的 Microsoft Edge 上测试。已在 build 10586 中修复。
剧情简介
运行 XMLDocument.prototype.evaluate
在 namespaceURI
设置为 null
的文档上使 Microsoft Edge 中的当前选项卡进程崩溃,使该选项卡的开发人员工具无响应,将调试信息发送到 watson.telemetry.microsoft.com
,并强制重新加载页面。
复制
要复制,在 Microsoft Edge 中打开任何网站,按 F12 打开开发人员工具,select 控制台,运行 这 3 行 javascript:
var doc = document.implementation.createDocument(null, null, null);
var node = doc.createElement('A');
doc.evaluate('B', node, doc.createNSResolver(doc), 9, null);
解决方法
访问baseURI
属性之前的上下文节点运行evaluate
.
var doc = document.implementation.createDocument(null, null, null);
var node = doc.createElement('A');
node.baseURI; // Edge workaround
doc.evaluate('B', node, doc.createNSResolver(doc), 9, null);
在 Windows 10 build 10240 的 Microsoft Edge 上测试。已在 build 10586 中修复。
剧情简介
运行 XMLDocument.prototype.evaluate
在 namespaceURI
设置为 null
的文档上使 Microsoft Edge 中的当前选项卡进程崩溃,使该选项卡的开发人员工具无响应,将调试信息发送到 watson.telemetry.microsoft.com
,并强制重新加载页面。
复制
要复制,在 Microsoft Edge 中打开任何网站,按 F12 打开开发人员工具,select 控制台,运行 这 3 行 javascript:
var doc = document.implementation.createDocument(null, null, null);
var node = doc.createElement('A');
doc.evaluate('B', node, doc.createNSResolver(doc), 9, null);
解决方法
访问baseURI
属性之前的上下文节点运行evaluate
.
var doc = document.implementation.createDocument(null, null, null);
var node = doc.createElement('A');
node.baseURI; // Edge workaround
doc.evaluate('B', node, doc.createNSResolver(doc), 9, null);