Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/16: Рейтинг темы: голосов - 16, средняя оценка - 4.63
15 / 15 / 4
Регистрация: 06.06.2012
Сообщений: 59
1

AJAX. Метод .load() и тег <script>

21.12.2012, 14:29. Показов 3262. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
.load( url [, data] [, complete(responseText, textStatus, XMLHttpRequest)] )
------------------------------------------

Получил ответ от сервера в переменной 'responseText', как мне теперь в этом ответе найти тег <script>, который находится в блоке '.online_player' и вставить его (тег скрипт) в тег '.ajax_load' на сайте и запустить скрипт?

Задача была такова: загрузить полную новость через ajax, при нажатии на описание короткой новости. Всё хорошо загружается, кроме одного тега - тега <script>, метод '.load' его вырезает, попросил друга помочь, он немного занят, но посмотрев форумы он сказал, что не только у меня такая проблема, т.е. вырезаение тега <script>, когда пользуемся методом '.load'.
Дело в том, что через этот тег <script> загружается видео плеер на flash. А без этого тега видео не отображается.

Кто может помочь?

Вот сайт: http://itelepat.ru/
JS. AJAX-загрузчик: http://itelepat.ru/templates/i... _module.js (не сжатый)

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
// jQuery AJAX [
AjaxContent = function() {
    var speed1 = 600,
        speed2 = 1000,
        speed3 = 1500;
    
    return {
        getContent : function( url, thisFullajax )
        {
            $( '#ajax_loader' ).fadeIn( "normal" );
            
            setTimeout( function() {
                $( thisFullajax ).load(
                    url + " " + '.fullstory', //загружает только выбранную часть
                    {}, // параметры
                    function(responseText, textStatus, XMLHttpRequest) {
                        fullstoryTabs();
                        
                        setTimeout( function() {
                            $( '#ajax_loader' ).fadeOut( "normal" );
                        }, speed1 );
                        
                        // console.log ( responseText );
                    }
                );
            }, speed1 );
        },
        ajaxify_links: function() {
            $( ".item_p .description" ).click( function() {
                
                var item_p     = $( '.sn-row .item_p' );
                var thisItem_p = $( this ).parent().parent();
                
                var fullajax     = $( '.sn-row .item_p' ).parent().next();
                var thisFullajax = thisItem_p.parent().next();
                // var thisFullajax = thisItem_p.parent().parent().prev();
                
                var element = thisItem_p.find("h2 a").attr("href");
                
                if ( $( thisItem_p ).is( '.active' ) ) {
                    thisItem_p.parent().next().slideUp( speed2 );
                    setTimeout( function() {
                        thisItem_p.removeClass( 'active' );
                    }, speed2 );
                } else {
                    // Загружаем контент в блок
                    AjaxContent.getContent( element, thisFullajax, thisItem_p, item_p );
 
                    item_p.parent().next().stop().slideUp( speed2 );
                    setTimeout( function() {
                        item_p.removeClass( 'active' );
                        
                        // scrollTo( '.sn-row-active', speed2 );
                        
                        thisItem_p.addClass( 'active' ).parent().next().slideDown( speed3 );
                        thisItem_p.parent().addClass( 'sn-row-active' );
                    }, speed3 );
                }
 
                // return false; //предотвращает нажатие на ссылку
            });
        }
    }
} ();
 
// Инициализация
$( function() {
    AjaxContent.ajaxify_links();
    
    // Текст-оповеститель :)
    $( 'body' ).append( '<div id="ajax_loader" style="display: none;"><img src="' + THEME + '/images/redesign/ajax-loader.gif" alt="Идёт загрузка..." width="32" height="32" /></div>' );
} );
// jQuery AJAX ]
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.12.2012, 14:29
Ответы с готовыми решениями:

Тег <script>
&lt;script src=&quot;url&quot;&gt;&lt;script/&gt; выполняю запрос на адрес (кросс доменный) не смог найти способа...

Не получается загрузить тег <head> методом jquery.Load()
Проблема состоит в том что мне нужно загрузить тег &lt;head&gt; методом jquery .load(), но почему он не...

Как добавить тег script в head сайта?
Мне нужно через консоль разработчика браузера добавить скрипт в head сайта. Нр &lt;script...

Получить имя подключаемого файла из HTML строки (тег script)
Есть массив со строками типа '&lt;script src=&quot;java.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;'. Они...

3
141 / 63 / 11
Регистрация: 19.06.2012
Сообщений: 250
23.12.2012, 15:13 2
Javascript
1
$('.online_player script', responseText);
А вообще для подгрузки скриптов есть специальная функция.
0
15 / 15 / 4
Регистрация: 06.06.2012
Сообщений: 59
27.12.2012, 15:29  [ТС] 3
Grand7, как использовать этот код?
0
901 / 833 / 198
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
27.12.2012, 20:13 4
Поместите скрипт в какой-то див id ="playerL" без <script>. Загружайте страницу с помощью load, а затем отдельными строками загрузите в этот блок недостающее
Javascript
1
2
$('#playerL').prepend('<script type="text/javascript">');
$('#playerL').append('</script >');
0
27.12.2012, 20:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.12.2012, 20:13
Помогаю со студенческими работами здесь

Как методом Response.Write написать тег <script> и чтобы он еще работал?
В ASP-файле пишу: Response.Write '&lt;script language='JavaScript'&gt;' Response.Write 'function...

Load div in AJAX
I have page index.php where: $result = '999'; &lt;button class =&quot;btn_y&quot;...

ajax post+load
Есть такая замечательная и всем известная функция $.ajax() С помощью нее можно на сервер отправить...

float:letf и ajax .load();
Всем привет. Помогите исправить ошибку. Есть блок сообщений &lt;div id='block'&gt;&lt;/div&gt;, в котором новые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru