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

ioni

Well-Known Member
11.05.2006
340
0
#1
У меня вопрос: если есть файл, который загружается в блок через ajax, и в этом файле содержится скрипт - например, скрипт счетчика - правильно ли я понимаю, что он не будет обрабатываться?

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

Пример - я получаю счетчик из внешнего файла.
Код счетчика нормализован для целей валидации, в оригинале он конечно не так хорошо выглядит, но в обычно состоянии отлично работает - а вот через Ajax не хочет...
Код:
	 <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>
 

Kmet

Well-Known Member
Java Team
25.05.2006
1 036
8
#3
http://stackoverflow.com/questions/889967/...oaded-html-file
пишут что загруженный скрипт может исполняться. но так по сути это достаточно граязный хак придется пилить под каждый браузер отдельно.

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

ioni

Well-Known Member
11.05.2006
340
0
#4
Хм. Я смотрел на эту страницу.
Наблюдается интересное поведение броузеров:

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

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