При чем тут Алерт?

Larson

Новичок
При чем тут Алерт?

Привет!
Вставляю ActiveX обьект в HTML файл:
PHP:
<? // - этот тег просто для подкраски синтаксиса

<SCRIPT language=JavaScript>
var xml;
var files;

function init(){
       xml = new ActiveXObject("Microsoft.XMLDOM");
        var k = xml.load("data.xml");

 // если сюда вставить alert(), то все работает

      var el = xml.documentElement;
      var rkeys = el.selectNodes("//rkey");
 // …………………………………
      var txts  = el.selectNodes("//text");
 	 files = el.selectNodes("//file");
}
// ………………………………….
<BODY onLoad=init()>
<object classid="clsid:C74190B6-8589-11D1-B16A-00C0F0283628" id="trView">
	<param name="HideSelection" value="1">
// …………………………………..
?>
Так вот в чем проблема: если эту станицу грузить напрямую с диска C:/wwwroot/tree.html, то все нормально работает, а если с хоста http://www.mydomen.com/tree.html, то ни фига не загружается – пишет, что el (и вообще xml.documentElement ) не является обьектом.
Но самое интересное – если вставить в скрипт alert(); , то после нажатия на ОК он нормально выполняется.

Я вообще не в понятках – при чем тут алерт?

И еще интересно то, что скрипт взят с сайта микрософт.
Пробовал на разных машинах, разных хостах, локально и нет, под Apache и IIS, в разных браузерах – везде одно и то же, хотя, имхо, тут сервер ни причем, т.к. это клиентская часть.

Я бы забил на все это и грешил бы на кривой скрипт, кривые руки, плохой хостинг, на мелкомягких, НО ведь если запускать напрямую с диска, то все нормально работает, и если alert() вставить (причем почти в любое место в начале), то тоже работает.
А так не могу забить, т.к. нужно без алерта и с хостинга.
В чем тут грабли? Может кто сталкивался? Или я уже совсем :)?

ЗЫ файл data.xml вроде нормально грузится, т.к к = true, я проверял.
 

Larson

Новичок
Смотрите, если написать так:

var srcTree = new ActiveXObject("Msxml2.DOMDocument.4.0");

то пишет, что Невозможно создание объекта контейнером Activex: "Msxml2.DOMDocument"

Почему?
 

lunizz

Guest
Может быть дело в настройках безопасности Ксплора? Разные уровни - для local machine - одна, для Internet - другая.
 

Larson

Новичок
Все оказалось проще и сложнее одновременно:
Сделал вот так:
PHP:
<? // - этот тег просто для подкраски синтаксиса 
<xml ID="island", SRC="data2.xml"></xml>

<SCRIPT language=JavaScript>
var xml;
var files;

function init(){
 //xml = new ActiveXObject("Microsoft.XMLDOM");
 //xml.load("data2.xml");
 var xml = island;
 var el = xml.documentElement;
 var rkeys = el.selectNodes("//rkey");
 //..................................
}
</SCRIPT>

?>
ЗЫ: Может кому пригодится?
 
Сверху