2015-11-24 7 views
5

Getestet auf Microsoft Edge von Microsoft Windows 10 Build 10240 in Fest Build 10586.Document.evaluate für Dokumente ohne namespaceURI stürzt Microsoft Edge

Synopsis

Lauf XMLDocument.prototype.evaluate auf einem Dokument, das namespaceURI Satz null hat stürzt den aktuellen Tab-Prozess in Microsoft Edge ab, lässt die Entwickler-Tools für diese Registerkarte nicht mehr reagieren, sendet Debuginformationen an watson.telemetry.microsoft.com und erzwingt das erneute Laden der Seite.

Repro

zu reproduzieren, öffnen Sie eine Website in Microsoft Edge, schlagen F12-Entwickler-Tools zu öffnen, wählen Sie Console, und diese drei Zeilen JavaScript laufen:

var doc = document.implementation.createDocument(null, null, null); 
var node = doc.createElement('A'); 
doc.evaluate('B', node, doc.createNSResolver(doc), 9, null); 
+0

Windows 10 (Build 10856) wurde kürzlich veröffentlicht; Bitte wenden Sie dieses Update an, um festzustellen, ob das Problem weiterhin besteht. Ich bin auf einem späteren Build und kann den Absturz nicht reproduzieren. – Sampson

Antwort

6

Umgehung

Greifen Sie auf die baseURI-Eigenschaft des Kontextknotens zu, bevor Sie evaluate ausführen.

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); 
Verwandte Themen