Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Выполнение Jquery загруженного через Ajax

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

n0kk

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день, нашел похожую тему, но так и не разобрался в чем соль, загружаю страницу вот так:  
 
JS:

Код:
 
    function showContent(link) {
 
        var cont = document.getElementById('contentBody');
        var loading = document.getElementById('loading');
 
        cont.innerHTML = loading.innerHTML;
 
        var http = createRequestObject();
        if( http ) {
            http.open('get', link);    
            http.onreadystatechange = function () {    
                if(http.readyState == 4) {
                    cont.innerHTML = http.responseText;        
                }
            }
            http.send(null);    
        } else {
            document.location = link;
        }
    }
 
    // создание ajax объекта
    function createRequestObject() {
        try { return new XMLHttpRequest() }
        catch(e) {
            try { return new ActiveXObject('Msxml2.XMLHTTP') }
            catch(e) {
                try { return new ActiveXObject('Microsoft.XMLHTTP') }
                catch(e) { return null; }
            }
        }
    }
 

 
Jquery код аккордеона, который при загрузке Ajax'ом не работает, если открыть страницу просто так то все работает.

Код:
 
<script>
    $(function() {
        $('.accon').not('.active').hide();
 
        $('.accap').click(function() {
            $('.accon).not($(this).next('.accon')).removeClass('active').slideUp(600);
            $(this).next('.accon').addClass('active').slideDown(600);
        })
    })
</script>
 

Помогите разобраться пожалуйста, наверное нужно передать Ajax'у что загружается не просто страница, а скрипт? Но не имею понятия как.

Всего записей: 55 | Зарегистр. 03-12-2012 | Отправлено: 11:33 18-12-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
n0kk
при ajax передаваемый код не выполняется.. можно делать eval, но, в целом, нежелательно.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:05 18-12-2013
n0kk

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
А как тогда поступить? Не желательно не хотелось бы делать, как подгрузить страницу с jQuery содержимым, я не подгружаю только один jQuery, а всю страницу, сама страница с  html кодом отображается, а скрипт не выполняется...

Всего записей: 55 | Зарегистр. 03-12-2012 | Отправлено: 04:14 19-12-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
n0kk

Цитата:
 как подгрузить страницу с jQuery содержимым, я не подгружаю только один jQuery, а всю страницу, сама страница с  html кодом отображается

объедините скрипты в один или пару js файлов, их и подгружайте по мере надобности.
http://api.jquery.com/jQuery.getScript/


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 04:36 19-12-2013
n0kk

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
объедините скрипты в один или пару js файлов, их и подгружайте по мере надобности.  
http://api.jquery.com/jQuery.getScript/  

 
А если я не хочу делать с помощью jquery? через уже существующий Ajax объект это возможно сделать?

Цитата:
    function showContent(link) {  
 
        var cont = document.getElementById('contentBody');  
        var loading = document.getElementById('loading');  
 
        cont.innerHTML = loading.innerHTML;  
 
        var http = createRequestObject();  
        if( http ) {  
            http.open('get', link);      
            http.onreadystatechange = function () {      
                if(http.readyState == 4) {  
                    cont.innerHTML = http.responseText;          
                }  
            }  
            http.send(null);      
        } else {  
            document.location = link;  
        }  
    }  
 
    // создание ajax объекта  
    function createRequestObject() {  
        try { return new XMLHttpRequest() }  
        catch(e) {  
            try { return new ActiveXObject('Msxml2.XMLHTTP') }  
            catch(e) {  
                try { return new ActiveXObject('Microsoft.XMLHTTP') }  
                catch(e) { return null; }  
            }  
        }  
    }  

 
Добавлено:
Просто я читал что Ajax реализованный в библиотеке Jquery не во всех браузерах работает нормально

Всего записей: 55 | Зарегистр. 03-12-2012 | Отправлено: 23:28 19-12-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
n0kk

Цитата:
через уже существующий Ajax объект это возможно сделать?  

ajax не занимается подгрузкой и запуском сторонних js кодов.
 

Цитата:
Ajax реализованный в библиотеке Jquery не во всех браузерах работает нормально

глупости
 


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:00 20-12-2013
n0kk

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
Огромное спасибо за разъяснение, очень помогло мне.

Всего записей: 55 | Зарегистр. 03-12-2012 | Отправлено: 05:13 20-12-2013
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » Выполнение Jquery загруженного через Ajax


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru