За последние 24 часа нас посетили 17722 программиста и 1712 роботов. Сейчас ищут 1805 программистов ...

AJAX, подгрузка и выполнение дополнительных javascript-ов.

Тема в разделе "JavaScript и AJAX", создана пользователем X-Cray, 14 авг 2006.

  1. X-Cray

    X-Cray Активный пользователь

    С нами с:
    10 июл 2006
    Сообщения:
    255
    Симпатии:
    0
    Адрес:
    Москва
    При подгрузке AJAX-ом JavaScript-а в слой, он не выполняется.

    Возможно, браузер просто "не знает", что там скрипт, который нужно выполнить. :lol:

    В общем, проблема следующая (чтоб не было пустых рассуждений).

    Имеется набор (200 шт) элементов (маааааленьких), которые необходимо обновлять каждые n-секунд.

    Подгружать в каждый контент AJAX-ом накладно.
    Перегружать страницу - некрасиво + размеры элементиков несопоставимы с размером остального кода.

    Использовать скрытые фреймы нельзя - щелчки слышны при переходе - не есть хорошо.

    В общем, остается только вариант подгрузки javascript-а с подготовленной инструкцией изменения элементиков (готовится она с помощью php, естессно).

    Проблема - как подгрузить, а по окончанию загрузки (если автоматически запустить нельзя) - запустить этот скрипт.
     
  2. X-Cray

    X-Cray Активный пользователь

    С нами с:
    10 июл 2006
    Сообщения:
    255
    Симпатии:
    0
    Адрес:
    Москва
    P.S. Делать чудо можно только после полной загрузки страницы и только средствами Javascript (php и великий flush использовать нельзя, чтоб под страницей функции скрипта грузить... глупо, но вдруг кому еще придет такая идея :) ).
     
  3. AndreyKl

    AndreyKl Активный пользователь

    С нами с:
    20 июл 2006
    Сообщения:
    5
    Симпатии:
    0
    Адрес:
    Ростов-на-Дону
    Всё ясно... не ясно только, что именно происходит... можно пример того, что загружается, но не выполняется?
     
  4. X-Cray

    X-Cray Активный пользователь

    С нами с:
    10 июл 2006
    Сообщения:
    255
    Симпатии:
    0
    Адрес:
    Москва
    Да хоть

    Код (Text):
    1. <script>
    2. window.alert("Я загрузился и выполнился!!!!");
    3. </script>
    загрузи AJAX-ом в DIV, например... не выполняется оно.

    Также не выполняется test() после загрузки
    Код (Text):
    1. <script>
    2. function test()
    3. {
    4.     window.alert("Я загрузился и выполнился!!!!");
    5. }
    6. </script>
     
  5. X-Cray

    X-Cray Активный пользователь

    С нами с:
    10 июл 2006
    Сообщения:
    255
    Симпатии:
    0
    Адрес:
    Москва
    Если у кого оно все-таки выполняется, дайте вашу реализацию Ajax-а :)

    У меня ни одна версия, что в сети валяется, выполнять подгруженный текст скрипта не хочет.
     
  6. AndreyKl

    AndreyKl Активный пользователь

    С нами с:
    20 июл 2006
    Сообщения:
    5
    Симпатии:
    0
    Адрес:
    Ростов-на-Дону
    Я думаю (только предположение), что дело в том, что скрипт находится вне "нормального" потока вывода браузера (или как это правильно назывется?). В общем, вижу только один выход - вызвать функцию в ручную. Ведь ты знаешь имя функции ? Просто вызови её после подгрузки элемента.. вроде того
    Код (Text):
    1. <script type="text/javascript">
    2. blablabla();//здесь делаем что-то..
    3. LoadDiv();//здесь подгружаем элементы
    4. update();//это имя подгруженной функции
    5. </script>
    Что думаешь?
     
  7. X-Cray

    X-Cray Активный пользователь

    С нами с:
    10 июл 2006
    Сообщения:
    255
    Симпатии:
    0
    Адрес:
    Москва
    Сначала загружается страница без функции test();

    Затем я загружаю скриптом код этой функции

    Код (Text):
    1. <script>
    2. function test()
    3. {
    4.     window.alert("Я загрузился и выполнился!!!!");
    5. }
    6. </script>
    Затем пытаюсь вызвать и .... нету такой функции. Браузер ее не зарегистрировал.
     
  8. X-Cray

    X-Cray Активный пользователь

    С нами с:
    10 июл 2006
    Сообщения:
    255
    Симпатии:
    0
    Адрес:
    Москва
    Может, без Ajax как-то можно это сделать?
     
  9. X-Cray

    X-Cray Активный пользователь

    С нами с:
    10 июл 2006
    Сообщения:
    255
    Симпатии:
    0
    Адрес:
    Москва