Я использую этот код для получения itunes: значение поля длительности из подкаста rss:
$.ajax({
url: url,
dataType: "json",
cache: false
}).done(function( d ) {
var dom = parseXML(d.contents)
$(dom).find("item").each(function(){
var item = $(this);
console.log(item.find('itunes\\:duration').text())//not working
console.log(item.find('itunes\\3Aduration').text())//not working
console.log(item.find('duration').text())//works
...
//other code...
function parseXML(xml) {
if(window.ActiveXObject && window.GetObject) {
var dom = new ActiveXObject('Microsoft.XMLDOM');
dom.loadXML(xml);
return dom;
}
if(window.DOMParser){
return new DOMParser().parseFromString(xml, 'text/xml');
}else{
throw new Error('No XML parser available');
}
}
Пример подкаста: https://www.omnycontent.com/d/playlist/a7b0bd27-d748-4fbe-ab3b-a6fa0049bcf6/aaf310db-97a4-428f-bde6-a84e0041aabe/2247fc58-f667-4d2a-a67f-a84e0041c550/podcast.rss
Это работает во всех других браузерах, даже в IE 11:
item.find('itunes\\:duration').text()
Как я могу заставить это пространство имен работать в Edge? Я хочу иметь один и тот же код для всех.