AJAX - а вот 50 строк асинхронного IE-only кода

???? ?? ???? ?????, ? ??? 50 ?????, ??????? ??? ?????? ??????????. ???????? ????????? ????? ?????????. ??????, ???????, ????????????? ? ?????, ?? ??? ?? ?????? ?? ??????. ??????, ? ??? ????? ?????? ???????? ???????? ??? ??? ?????????? ?????? ????????????? ?????.

??? ????? ??-???????? ?????? ??? IE, ?????????????? ???????? ??????????? ?? ??????????? ?????? ?????, ? ????????? ??????, ??? ? ??? ??? ??????? ????? selectSingleNode ? selectNodes.

????? ??, cut&paste, ????????? ? HTML ????? ? ???????? ? IE. ???? ?????? ???????????? ?? ????????, ????? Atom feed ?????? ???? ?? ??? ?? ????????, ????? ????? cross-scripting.

<p>...</p>
<div id="feed">Loading...</div>
<div>
<script language="javascript">

 var xmlhttp = null;

function ShowFeed()
{
if (xmlhttp.readyState==4)
{
if (xmlhttp.status!=404)
{
var result = ""
var xmlObj = xmlhttp.responseXML;
var nodes = xmlObj.selectNodes("/feed/entry");
var limit = nodes.length > 5 ? 5 : nodes.length;
for (i=0; i<limit; i++)
{
var node = nodes.item(i).selectSingleNode("title");
var node1 = nodes.item(i).selectSingleNode("link[@rel='alternate']/@href");
result = result + "<h3><a href='" +node1.text + "'>" + node.text + "</a></h3>";
node = nodes.item(i).selectSingleNode("content");
var re = /<[^>]*>/g;
var txt = node.text.replace(re,"");
if ( txt.length > 300 ) {
txt = txt.substring(0,300) + "...";
}
result = result + "<p>" + txt + "</p>";
}
document.getElementById("feed").innerHTML = result;
}
else
{
document.getElementById("feed").innerHTML = "<p>Feed is temporarily not available.</p>";
}
}

}

 function GetFeed(url)
{
document.getElementById("feed").firstChild.data = "111";
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
document.getElementById("feed").firstChild.data = "222";
if (xmlhttp == null ) {
document.getElementById("feed").innerHTML =
"<p>Sorry, your browser does not support XMLHTTP object necessary to show the feed.</p>";
return;
}

  xmlhttp.onreadystatechange = function() { ShowFeed(); };
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

 GetFeed("https://blogs.technet.com/eldar/atom.aspx");

</script>
</div>
<p>...</p>

? ??? ???????????? (???? ?? ???????? ??????? ???????? ???????):

Comments

  • Anonymous
    January 01, 2003
    Ну, рад за них. В личичке не нашел...

  • Anonymous
    July 07, 2009
    вообще то Opera очень даже поддерживает и selectSingleNode и selectNodes