Здравствуйте.
у меня есть, скажем так, Main page
на ней есть контролы, и div
при нажатии из некоторые из контролов, нужно подгрузить в этот div страницу с сервера, внутри которой есть javascript.
т.е. при нажатии на одну из этих кнопок идет такой вот запрос:
$.post(urlRequestedPage, data, onResponseLoaded)
в функции
function onResponseLoaded(serverResponse) {
mydiv.innerHTML = serverResponse;
}
если со стороны сервера приходит страница, в которой "чистый" HTML, он прекрасно отображается внутри этого div-a.
если же внутри этой пришедшей страницы есть вставки джаваскрипта, то...
1) его "не видно".При попытке вызывать функции этого пришедшего JS вылетает ексепшн
2) если этот JS вставить на Main page и, при вызове затем его методов, — они срабатывают
Вопросы:
1) как сделать так, что бы был "виден" и отрабатывал тот джаваскрипт, который грузится аджаксом в div (без необходимости его вставлять в Main page)
2) в JQuery есть замечательная функция $(document).ready, но отрабывает она один раз и когда загрузилась Main page. Возможно ли сделать как-то, что когда в mydiv динамически загрузили контент — сработала некая JS-функция. Еще раз загрузили — еще раз сработала и тд и тп
заранее,спасибо!!!
JQuery.Выполнить JS-скрипт после его загрузки в DIV
То что вы хотите сделать впринцепе не кросс браузерно и вряд ли осуществимо
Posted via RSDN NNTP Server 2.1 beta
Как вариант это отделить HTML от JavaScript (если позволяет ситуация).
Весь HTML в DIV, а JavaScript проводить через window.eval()/window.execScript().
Здравствуйте, vit.rsdn, Вы писали:
VR> Здравствуйте.
VR>у меня есть, скажем так, Main page
VR>на ней есть контролы, и div
VR>при нажатии из некоторые из контролов, нужно подгрузить в этот div страницу с сервера, внутри которой есть javascript.
VR>т.е. при нажатии на одну из этих кнопок идет такой вот запрос:
VR>$.post(urlRequestedPage, data, onResponseLoaded)
VR>в функции
VR> function onResponseLoaded(serverResponse) {
VR> mydiv.innerHTML = serverResponse;
VR> }
VR>если со стороны сервера приходит страница, в которой "чистый" HTML, он прекрасно отображается внутри этого div-a.
VR>если же внутри этой пришедшей страницы есть вставки джаваскрипта, то...
VR>1) его "не видно".При попытке вызывать функции этого пришедшего JS вылетает ексепшн
VR>2) если этот JS вставить на Main page и, при вызове затем его методов, — они срабатывают
VR>Вопросы:
VR>1) как сделать так, что бы был "виден" и отрабатывал тот джаваскрипт, который грузится аджаксом в div (без необходимости его вставлять в Main page)
VR>2) в JQuery есть замечательная функция $(document).ready, но отрабывает она один раз и когда загрузилась Main page. Возможно ли сделать как-то, что когда в mydiv динамически загрузили контент — сработала некая JS-функция. Еще раз загрузили — еще раз сработала и тд и тп
VR>заранее,спасибо!!!... << RSDN@Home 1.2.0 alpha 4 rev. 1125>>
VR>1) как сделать так, что бы был "виден" и отрабатывал тот джаваскрипт, который грузится аджаксом в div (без необходимости его вставлять в Main page)
использовать $.getScript
VR>2) в JQuery есть замечательная функция $(document).ready, но отрабывает она один раз и когда загрузилась Main page. Возможно ли сделать как-то, что когда в mydiv динамически загрузили контент — сработала некая JS-функция. Еще раз загрузили — еще раз сработала и тд и тп
параметр callback в
документации
$(el).load(
'a.html',
function(){
// делаем, что надо
}
);
// или
$.get(
'a.html',
function(resp) {
// работаем с полученым resp
}
);
Привет всем
в итоге, помогло вот это:
http://www.codeproject.com/KB/ajax/ensure.aspx
может кому пригодится при сходной проблеме.