спасибо, что ваш комментарий был полезен для решения проблемы. Я добавлю свой код, если кто-то посчитает полезным, проблема была в следующем: document.implementation.createDocument ("", "", null); Firefox создает документ XML, но Safari просто создает документ, когда он достигает этой части: xmlDoc.load не удается, потому что safari не распознает это, поэтому в коде, если попытка не удалась, это означает, что его safari затем входит в catch и использует нужные функции. для сафари и всего остального то же самое.
var xmlDoc;
function crearObjetoXML(archivoXML){
//---this is for IE.
if(window.ActiveXObject){
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.load(archivoXML);
parsearXML();
}else if(document.implementation && document.implementation.createDocument){
try{//--- this is for FF, opera and others.
xmlDoc = document.implementation.createDocument("","",null);
xmlDoc.load(archivoXML);
xmlDoc.onload = parsearXML;
}
catch(e){// if the other one fails enters here for Safari
xmlDoc = new XMLHttpRequest();
xmlDoc.open("GET", archivoXML, false);
xmlDoc.send();
xmlDoc=xmlDoc.responseXML;
parsearXML();
}else{
alert ('Su navegador no puede soportar este script');
}
}
function parsearXML(){
numrows = xmlDoc.getElementsByTagName('advertise')[0].childNodes.length;
lnks1 = new Array(numrows);
for (var i=0;i<=numrows-1;i++)
{
lnks1[i] = xmlDoc.getElementsByTagName('advertise')[0].getElementsByTagName('item')[i].getAttribute('link');
}
}
crearObjetoXML('../imagerotatorxml.php');