![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Greendrake |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 364 Регистрация: 14.7.2005 Репутация: нет Всего: 6 |
Недавно обнаружил такую вещь, на которую я никак не рассчитывал. Динамически подгружаю контент для дива, и к нему же прилагается дополнительный JavaScript-код, который мне нужно немедля выполнить. Ничего не подозревая, просто шлю код в оболочке <script type="text/javascript" language="JavaScript"></script>, думая, что как только он встанет в innerHTML дива, тут же и выполнится. Хрен там!
Попытка выполнить этот фокус в DOM-овском стиле типа appendChild тоже ничего не дала. Это что же получается, остаётся только слать чистый код и загонять его в eval ??? |
|||
|
||||
| Alx |
|
|||
|
Ajaxy ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2903 Регистрация: 26.11.2003 Где: Cutopia Репутация: 10 Всего: 78 |
Greendrake,
обворачивай в функцию и вызывай её. либо клади во внешний файл и подгружай, как <script src="*"></script>
Это сообщение отредактировал(а) Alx - 16.3.2006, 18:46 |
|||
|
||||
| 12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
innerHTML - не входной поток, ничего удивительного.
|
|||
|
||||
| Greendrake |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 364 Регистрация: 14.7.2005 Репутация: нет Всего: 6 |
Мда, видимо так и придётся. Кто-нить может объяснить, почему вот в этом примере нажатие на кнопку 2 выдаёт сообщение "done" только в случае, когда eval стоит в глобальном контексте, а когда помещаешь его в doIt (где закомментировано) - перестаёт работать
|
||||
|
|||||
| 12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
Функция объявляется как локальная во 2-м случае и перестаёт существовать по окончании doIt().
|
|||
|
||||
| Ciber SLasH |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
Greendrake, ну можно было бы сообразить, у тебя во втром случае код в run-time получается такой:
doIt2 у тебя внутри doIt получится, как сказал 12345c:
Это сообщение отредактировал(а) Ciber SLasH - 17.3.2006, 19:05 |
||||
|
|||||
| Greendrake |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 364 Регистрация: 14.7.2005 Репутация: нет Всего: 6 |
Да, ступил, впрочем до меня это доперло вскоре после поста, но подтереть не успел Выходит, чтобы использовать решение сабжа "оборачивать в функцию и вызывать её", нужно все функции в начинке представить в виде
Подгружать отдельным файлом влом, поэтому попробую так и сделать. Это сообщение отредактировал(а) Greendrake - 17.3.2006, 22:04 |
||||
|
|||||
| Alex_B |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 24.4.2007 Репутация: нет Всего: 1 |
Я воспользовался функцией Alx Когда гружу скрипты со своего же сайта, все отлично, но нужно еще и сдругих. Вот, например, пытаюсь поключиться к Google maps:
Ничего не происходит. В чем может быть причина? Спасибо. |
||||||
|
|||||||
| Alex_B |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 24.4.2007 Репутация: нет Всего: 1 |
Посмотрел в FF, там внизу в строке состояния появляется надпись:
"Прочитано www.google.com" Если же поключать скрипт вручную, неиспользуя функцию Alx, т.е. вот так:
Все нормально работает. |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |