Возможно ты прав.
И конструкцию аля такой:
// Creating XHR object
var getXHR = (function(){
var xhr
if(typeof XMLHttpRequest != 'undefined') return function(){ return xhr = new XMLHttpRequest() }
else if(window.ActiveXObject){
var xmlVers = ['MSXML2.XMLHttp.4.0', 'MSXML2.XMLHttp.3.0', 'MSXML2.XMLHttp']
for(var i=0; i<xmlVers.length; i++){
try{
xhr = new ActiveXObject(xmlVers[i])
return function(){ return xhr }
} catch(err){}
}
throw new Error('Невозможно создать объект XMLHttp')
}
return function(){ return xhr }
})()
...
var r = eval('('+xhr.responseText+')')
делать смысла нет.
Я поэкспериментировал с объектом 'MSXML2.XMLHttp.5.0' на браузере IE 6.0. Оказалось, что появляется ошибка при обращении к полям объекта r.
(xhr.responseText содержит JSON-строку, созданную посредством многим известной функции php2js().
Занятно, вобщем.