Автор Тема: IE+XML+CGI+JavaScript. Как?  (Прочитано 2600 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн anterior

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
IE+XML+CGI+JavaScript. Как?
« : 11 Июля 2007, 10:46:01 »
Люди, у меня проблема. Я уже целый день на нее потратил, и уже начал рвать клочья на голове ;) Вот блин везде это работает во всех браузерах, а в ИЕ не работает. Вот хоть тресни. Короче рассказываю по порядку:
1) Есть CGI скрипт вот такой:

use CGI qw/:standard/;
print header(-type => \'text/xml\', -charset => \'UTF-8\'),
  \'\',
  \'mydata\';

2) Есть JavaScript, вот такой:

//Костыли для IE:
    function addEvent(obj, evType, fn){
      if (obj.addEventListener) {
          obj.addEventListener(evType, fn, true);
      }
      if (obj.attachEvent) {
          obj.attachEvent(evType, fn);
      }
    }
    function removeEvent( obj, type, fn ) {
      if (obj.detachEvent) {
        obj.detachEvent(type, fn);
      }
      else {
        obj.removeEventListener(type, fn, false);
      }
    }
//выполняет запрос на загрузку файла
    function upload(form, onload_func) {
      //эта функция вызовется после выпонения запроса
      addEvent(document.getElementById(\'myframe\'), \'onload\', onload_func); //специально для IE
      document.getElementById(\'myframe\').onload = onload_func; //А вот это едят все остальные
      //выполняем запрос
      form.submit();
    }
    function myOnLoadFunc() {
      var frame = document.getElementById(\'myframe\');
      removeEvent(frame, \'onload\', myOnLoadFunc); //специально для IE
alert(frame.contentWindow.document.getElementsByTagName(\'mytag\').length);
    }

3) А вот ХТМЛ:








Ну и вот после того как все это сработает появляется сообщение. В ИЕ оно равно "0". В этом и заключается проблема

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28