Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: JavaScript выведенный через AJAX не работает.
Покинул форум
Сообщений всего: 4
Дата рег-ции: Нояб. 2011
Помог: 0 раз(а)
Доброго всем дня...
Столкнулся с проблемой, через AJAX возвращается контент страницы, выводится всё в блок div. В контенте есть ЯВА-скрипт, который не виден браузером.
Задача состоит в том, чтобы вывести несколько превьшек и скриптом их выводить на большую картинку. Сам скрипт рабочий, если все это мутить через обычный PHP все работает...
Запрашивающий скрипт не вижу смысла выкладывать, его задача сделать запрос, получить ответ, изменить стиль в ID="layer" на видимый, все выводится, все видно, но скрипт не работает. Все браузеры ссылаются на то, что не определена функция image...
Никак не пойму, почему не виден скрипт? Что и где не так?
Дополняю, спустя время...
После долгих изысканий, я сделал вывод, что не могу добраться до идентификаторов объектов, которые которые находятся внутри ответа сервера через Аякс...
Покинул форум
Сообщений всего: 979
Дата рег-ции: Окт. 2011 Откуда: Россия г. Нижний Новгород
Помог: 25 раз(а)
[+]
А тебе обязательно подгружать эту функцию через ajax? почему бы её не вынести в отдельный файл и подргужать где нить в <head> ?
Почитай че нить про http://javascript.ru/eval, хз мб поможет..
tuareg
Отправлено: 13 Ноября, 2011 - 21:11:56
Участник
Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010
Помог: 69 раз(а)
Если jQuery===> $.getScript()
если нет, то смотрите аналог $.getScript() для js
Только придется делать 2 ajax запроса.
Первый html, второй $.getScript()
DeepVarvar
Отправлено: 13 Ноября, 2011 - 21:36:05
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Данный скрипт, создает элемент SCR, запрашивает файл сервера script.php (через $_GET). PHP возвращает JAVA-скрипт, который вписывается между тегами HEAD.
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
tuareg вопрос несколько не по теме.
Если надо забиндить плагин на элемент создающийся после загрузки документа как быть?
Ссылку на объект то не получится передать. Тогда смысл в этом on() ?
Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010
Помог: 69 раз(а)
armancho7777777 пишет:
Да ну что вы говорите?) Правда, что-ли?) Я и не знал)
live() слаб, и не всегда работае как надо.
Можно пример, когда live сработает плохо? Есть delegate? Сейчас вообще on/off?
Viper пишет:
Если надо забиндить плагин на элемент создающийся после загрузки документа как быть?
Ссылку на объект то не получится передать.
А что конкретно не получается? Используйте вместо bind() используйте delegate()?
Или live(). Но лучше delegate()?
Или как вариант, если подгружаете html, то можно вместе с html подгружать и сам плагин.
Так даже проще будет. Закешируйте запрос и все будет хорошо.
Можно функцию придумать типа
В этом случае плагин забиндится на весь документ.
live() просто не сработает. Он сработает только при втором клике на том же элементе(т.е. вместо одного клика надо 2 раза кликнуть чобы сработало).
tuareg пишет:
Или как вариант, если подгружаете html, то можно вместе с html подгружать и сам плагин.
не вариант, т.к. получаю json.
delegate() полностью заменим on() в 1.7
Вот и выходит что лучше заюзать 1 раз костыль чем "рисовать план атаки Берлина".
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
tuareg пишет:
Можно пример, когда live сработает плохо?
Пример выше, с livequery, точно с live() работать не будет.
tuareg
Отправлено: 23 Декабря, 2011 - 13:38:46
Участник
Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010
Помог: 69 раз(а)
armancho7777777 пишет:
tuareg пишет:
Можно пример, когда live сработает плохо?
Пример выше, с livequery, точно с live() работать не будет.
Если я правильно понял, что делает Ваш код. Есть менюшка, в ней ссылки, при клике на ссылку подгружается контент. В нем ссылки, при нажатии на которые что то происходит?
Ну и я приивел пример с delegate() он сработает! Потом если ссылки выбирать не
$('#div_content a') а сразу саму ссылку
типа $('a.ссылка') сработает и live()? Viper
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.