2015-11-24 17 views
5

Testato su Microsoft Edge da Windows 10 di build 10240 fisso nella build 10586.Document.evaluate per documenti senza namespaceURI si blocca Microsoft Edge

Sinossi

Esecuzione XMLDocument.prototype.evaluate su un documento che ha namespaceURI insieme a null arresta il processo di tabulazione corrente in Microsoft Edge, lascia gli strumenti di sviluppo per quella scheda non risponde, invia le informazioni di debug a watson.telemetry.microsoft.com e forza-ricarica la pagina.

Repro

Per riprodurre, aprire qualsiasi sito web in Microsoft Edge, ha colpito F12 per aprire strumenti di sviluppo, selezionare Console, ed eseguire queste 3 righe di javascript:

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) è stato rilasciato di recente; si prega di applicare questo aggiornamento per vedere se il problema continua ad esistere. Sono in una build successiva e non riesco a riprodurre l'arresto. – Sampson

risposta

6

Soluzione

Accedere alla proprietà baseURI del nodo di contesto prima di eseguire evaluate.

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