2015-07-28 4 views
0

У меня очень простая, но неприятная проблема с XMLDOM и браузером Microsoft Edge. Я просматривал текущую документацию, но я ничего не вижу в функциональности этого наследия. В нашей базе кода у нас есть функция whos job, которая возвращает объект XMLDOM. Функция делает это -XMLDOM с Microsoft Edge

if(activeXDetected()) { 
    domObject = new ActiveXObject("Microsoft.XMLDOM"); 
} else { 
    domObject = document.implementation.createDocument(...); 
} 

Я не ожидал поддержки ActiveX в Edge, но я надеялся, что картина будет падать обратно по той же схеме, используемой практически любой другой браузер (document.implementation ....). В этом случае использования, с краевым браузером, вообще нет метода loadXML в возвращаемом объекте, и насколько я могу судить о том, что вы возвращаете (и вы возвращаете обратно объект), кажется, является общим домом объект.

Как получить объект XMLDOM обратно со всеми поддерживаемыми методами et. и др.

ответ

-1

Что такое activeXDetected()?

использование функция обнаружения вместо

if(ActiveXObject) { 
    domObject = new ActiveXObject("Microsoft.XMLDOM"); 
} else { 
    domObject = document.implementation.createDocument(...); 
} 
+0

Код выглядит следующим образом - возвращение (window.ActiveXObject || window.ActiveXObject == неопределенная!); Эта методология необходима для правильного обнаружения в IE11. Ваша опубликованная версия на самом деле терпит неудачу в IE11, вам действительно нужно сделать типизированную проверку для undefined. Я уверен, что отказ от активного обнаружения x в Edge является правильным и правильным. –