LINUX.ORG.RU

XML + JavaScript


0

0

html:

<html>
<head>

<script type="text/javascript">

var XML;

function parse_xml(data) {
if(XML.readyState == 4) {
alert(XML.getElementsByTagName("action")[0]);
}
}


function loadXML(URL) {
if( window.ActiveXObject && /Win/.test(navigator.userAgent) ) {
XML = new ActiveXObject("Microsoft.XMLDOM");
XML.async = false;
XML.onreadystatechange = parse_xml();

XML.load(URL);

} else if( document.implementation && document.implementation.createDocument ) {
XML = document.implementation.createDocument("","",null);
XML.async=false;
var loaded = XML.load(URL);
if (loaded) {
XML.readyState = 4;
parse_xml();
}
}
}

</script>
</head>
<body>

<div id="poll_result">
</div>

<script type="text/javascript">
loadXML('/export/poll.php?id=169086&url=/');
</script>
</body>
</html>

xml:

<?xml version="1.0" encoding="windows-1251"?>
<action name='show_poll_result'>
...
</action>

IE6 вообще ничего не хочет делать, пошлите в какой-нить мануал иль подскажите откуда копать ... FF & Opera все работает

★☆

Ответ на: комментарий от r_asian

не Ъ, если начал - нада закончить ))) IE походу дела просто не загружает XML ..

phasma ★☆
() автор топика

<html> 
<head> 

<script type="text/javascript"> 
    var oXML, XML;
    
    function loadXML(url) {

	if (window.XMLHttpRequest) {
	    oXML = new XMLHttpRequest();
	    oXML.onreadystatechange = function() {
		if (oXML.readyState == 4) {
		    if (oXML.status == 200) {
			XML = oXML.responseXML;
			parseXML();
		    }
		}
	    }

	    oXML.open("GET", url, true);
	    oXML.send(null);
	} else if (window.ActiveXObject)  {
	    oXML=new ActiveXObject("Microsoft.XMLHTTP");
	    if (oXML) {
		oXML.onreadystatechange = function() {
		    if (oXML.readyState == 4) {
			if (oXML.status == 200) {
			    XML = oXML.responseXML;
			    parseXML();
			}
		    }
		}
	    
		oXML.open("GET", url, true);
		oXML.send();
	    }
	}
    }
    
    function parseXML() {
	
	alert(XML.getElementsByTagName('action')[0].getAttribute('name'));
    
    }
</script> 
</head> 
<body> 

<div id="poll_result"> 
</div> 

<script type="text/javascript"> 
loadXML('/export/poll.php?id=169086&url=/'); 
</script> 
</body> 
</html>

вот код ... я его победил )))

phasma ★☆
() автор топика

может оно зависит от "зоны интернет" в MSIE? добавь сайт в доверенную зону

сам наткнулся на подобное когда делал прозрачные png картинки для MSIE6 (через DX фильтр): локально работает, с сайта под одной виндой работает, под другой -- не запускается т.к. "зона интернет". Добавил в локальную, запустилось.

Для Оперы вроде свой готовый XMLHTTPRequest есть

anonymous
()
Ответ на: комментарий от phasma

> вот код ... я его победил )))

можно отрефакторить ))

function loadXML(url) { var oXML; if (window.XMLHttpRequest) { oXML = new XMLHttpRequest(); } else if (window.ActiveXObject) { oXML=new ActiveXObject("Microsoft.XMLHTTP"); } if (oXML) { oXML.onreadystatechange = function() { if (oXML.readyState == 4) { if (oXML.status == 200) { XML = oXML.responseXML; parseXML(); } } } oXML.open("GET", url, true); oXML.send(); } }

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.