Загрузка блока Jquery Load()

Тема в разделе "Web 2.0, AJAX, Ruby, RSS технологии", создана пользователем ioni, 9 окт 2009.

  1. ioni

    ioni Well-Known Member

    Регистрация:
    11 май 2006
    Сообщения:
    351
    Симпатии:
    0
    У меня вопрос: если есть файл, который загружается в блок через ajax, и в этом файле содержится скрипт - например, скрипт счетчика - правильно ли я понимаю, что он не будет обрабатываться?

    То есть полученное через .load() содержимое будет вставлено, но не обработано?

    Пример - я получаю счетчик из внешнего файла.
    Код счетчика нормализован для целей валидации, в оригинале он конечно не так хорошо выглядит, но в обычно состоянии отлично работает - а вот через Ajax не хочет...
    Код (Text):
         <script language="javascript" type="text/javascript">
    // <![CDATA[
    d=document;w=window;n=navigator;d.cookie="cc=1";
    r=''+escape(d.referrer);js=10;c=(d.cookie)?1:0;j=0;
    x=Math.random();u=''+escape(w.location.href);lt=0;
    h=history.length;t=new Date;f=(self!=top)?1:0;cd=0;
    tz=t.getTimezoneOffset();cpu=n.cpuClass;ww=wh=ss=0;
    //]]>
    </script>
    <script language="javascript1.1" type="text/javascript1.1">
    // <![CDATA[
    js=11;j=(n.javaEnabled()?1:0);
    //]]>
    </script>
    <script language="javascript1.2" type="text/javascript1.2">
    // <![CDATA[
    js=12;lt=1;s=screen;ss=s.width;
    cd=(s.colorDepth?s.colorDepth:s.pixelDepth);
    //]]>
    </script>
    <script language="javascript1.3" type="text/javascript1.3">
    // <![CDATA[
    js=13;wh=w.innerHeight;ww=w.innerWidth;
    wh=(wh?wh:d.documentElement.offsetHeight);
    ww=(ww?ww:d.documentElement.offsetWidth);
    //]]>
    </script>
    <script language="javascript" type="text/javascript">
    // <![CDATA[
    q='lik?id=24422&d='+u+'&r='+r+'&h='+h+'&f='+f;
    q+='&c='+c+'&tz='+tz+'&cpu='+cpu+'&js='+js+'&wh='+wh;
    q+='&ww='+ww+'&ss='+ss+'&cd='+cd+'&j='+j+'&x='+x;
    d.write('<img src="http://adlik.akavita.com/bin/'+
    q+'" alt="Akavita: bla bla bla" '+
    'border="0" width="88" height="31">');
    if(lt){d.write('<'+'!-- ');}
    //]]>
    </script>
    <noscript>
    <img src="http://adlik.akavita.com/bin/lik?id=24422" border="0" height="31" width="88" alt="Akavita: bla bla bla />
    </noscript>
    <script language="javascript" type="text/javascript">
    // <![CDATA[
    if(lt){d.write('--'+'>');}
    //]]>
    </script>
    </a>
     
  2. ioni

    ioni Well-Known Member

    Регистрация:
    11 май 2006
    Сообщения:
    351
    Симпатии:
    0
  3. Kmet

    Kmet Well-Known Member

    Регистрация:
    25 май 2006
    Сообщения:
    1.017
    Симпатии:
    1
    http://stackoverflow.com/questions/889967/...oaded-html-file
    пишут что загруженный скрипт может исполняться. но так по сути это достаточно граязный хак придется пилить под каждый браузер отдельно.

    можно еще посмотреть как в prototype.js сделано. создтели заявляют что в нем фича Automatic JavaScript response evaluation есть. Только в нем как то на mime type завязано
     
  4. ioni

    ioni Well-Known Member

    Регистрация:
    11 май 2006
    Сообщения:
    351
    Симпатии:
    0
    Хм. Я смотрел на эту страницу.
    Наблюдается интересное поведение броузеров:

    Chrome (в котором я работаю все последнее время) JS не обрабатывает, но рисунки выводит
    Мозилла (FF версии3) выводит страницу, но потом, после, подружения файла, выводит только его - при этом Firebug показывает все остальное размерами 0 на 0, и отсутствие каких-либо стилей.
    Лучше всех отображает IE7 (!) - но тоже не обрабатывает JS.

    Показать пример не могу - стоит на продакшн сервере, так что по понятным причинам, я его не включаю но могу что-нибудь придумать.
     
Загрузка...

Поделиться этой страницей