Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: некорррректно работает JS код

Сообщения:  [1-10]   [11-13] 

 
 автор: deman-b   (10.09.2007 в 23:41)   письмо автору
 
   для: CNT   (06.09.2007 в 23:57)
 

как раз напротифф... непоняли вы меня..
подобная подгрузка JS кода у меня прекрасно работает и в IE6.0 и в Opera9.1(в 7.23 неработает)

проблемы у меня именно с фитчей ONLOAD динамически создаваемого тега SCRIPT
в Opera9.1 - работает, в IE6.0 - нет

ЗЫ: вместо SRC я использую URL ... так надо.


myfunc() {
    //тут выполняется нужная мне функция (при условии если догрузился JS элемент)
}
var text = document.getElementById("text");
url = '<?=dirname("http://".$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'])?>/server.php?q='+escape(text)+'&nocaching='+Math.random();
var element = document.createElement('<scr' + 'ipt defer>');
element.type = 'text/javascript';
element.src = url;
element.onload = "myfunc()";
document.body.appendChild(element);


как только не пробовал - после загрузки JS элемента, функция myfunc() указанная в onload не выполняется (хотя в опере все работает нормально)

   
 
 автор: CNT   (06.09.2007 в 23:57)   письмо автору
 
   для: deman-b   (06.09.2007 в 22:48)
 

Что-то значит не поняли и сделали не так.
Вот вам пример подключения любого скрипта

Это сам подключамый скрипт - файл myscript.php
document.getElementById ('myInput').value = 'загружен';


А это - вызывающий файл - назовите как угодно, например, index.html - и поместите в одну папку с файлом myscript.php:
<html><head>
<script>
function myFunc ()
{
var elem = document.createElement ('<scr' + 'ipt defer>');
elem.src = 'myscript.php';
document.body.appendChild (elem);
}
</script>
</head><body>
<center><a href="#" onclick="myFunc (); return false">подключить скрипт</a></center>
<hr><input id="myInput" style="width: 100%">
</body></html>

   
 
 автор: bronenos   (06.09.2007 в 23:18)   письмо автору
 
   для: deman-b   (06.09.2007 в 22:48)
 

ну тогда строкой можно попробовать

   
 
 автор: deman-b   (06.09.2007 в 22:48)   письмо автору
 
   для: Madman   (06.09.2007 в 13:54)
 

странно...
ИЕ все равно не хочет загружать функцию указанную в свойстве onload елемента SCRIPT ..(

   
 
 автор: Madman   (06.09.2007 в 13:54)   письмо автору
 
   для: deman-b   (06.09.2007 в 12:26)
 

> "в чем цинус?"

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

   
 
 автор: deman-b   (06.09.2007 в 12:26)   письмо автору
 
   для: CNT   (06.09.2007 в 00:33)
 

хм... интересно, а для чего нужен этот атрибут? "в чем цинус?"

   
 
 автор: ec_stasis   (06.09.2007 в 00:36)   письмо автору
 
   для: deman-b   (05.09.2007 в 23:28)
 

>>>значит происходит чудо!!!!!!!!)))
а вот опера напртиф... прикинулась эксплорером )))

???

   
 
 автор: CNT   (06.09.2007 в 00:33)   письмо автору
 
   для: deman-b   (05.09.2007 в 21:42)
 

В IE для "приживляемых" тегов <SCRIPT> обязателен атрибут DEFER, т.е.
var element = document.createElement ('<scr' + 'ipt defer>');

Ну и вызов функции - как и было указано - только имя функции, без скобок и кавычек.

   
 
 автор: deman-b   (05.09.2007 в 23:28)   письмо автору
 
   для: ec_stasis   (05.09.2007 в 23:07)
 

да ну!??!?! 0_о
значит происходит чудо!!!!!!!!)))
а вот опера напртиф... прикинулась эксплорером )))

   
 
 автор: ec_stasis   (05.09.2007 в 23:07)   письмо автору
 
   для: deman-b   (05.09.2007 в 21:42)
 

IE не выполняет скрипт, загруженный таким образом.
Есть такое решение: загрузить его Аяксом и евал сделать.

   

Сообщения:  [1-10]   [11-13] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования