Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.07.2012, 17:25
Аватар для Freakmeister
Аспирант
Отправить личное сообщение для Freakmeister Посмотреть профиль Найти все сообщения от Freakmeister
 
Регистрация: 15.01.2011
Сообщений: 61

Скрипт внутри AJAX-запроса
На сайте есть блок с сервиса tsviewer, выглядит он так:
http://jsfiddle.net/TQh3h/

Проблема в том, что при загрузке он сильно затупливает загрузку других скриптов, поэтому я попытался сделать, чтобы этот блок аджаксился.
PHP-скрипт вывода блока теперь выглядит так:
if ($_POST['ajaxing']) { //ловим AJAX-запрос
    echo '<script type="text/javascript" charset="utf-8" src="http://www.tsviewer.com/ts3viewer.php?ID=909139&text=333333&text_size=10&text_family=4&js=1&text_s_weight=bold&text_s_style=normal&text_s_variant=normal&text_s_decoration=none&text_s_color_h=8B1A1A&text_s_weight_h=bold&text_s_style_h=normal&text_s_variant_h=normal&text_s_decoration_h=underline&text_i_weight=normal&text_i_style=normal&text_i_variant=normal&text_i_decoration=none&text_i_color_h=8B1A1A&text_i_weight_h=normal&text_i_style_h=normal&text_i_variant_h=normal&text_i_decoration_h=underline&text_c_weight=normal&text_c_style=normal&text_c_variant=normal&text_c_decoration=none&text_c_color_h=8B1A1A&text_c_weight_h=normal&text_c_style_h=normal&text_c_variant_h=normal&text_c_decoration_h=underline&text_u_weight=bold&text_u_style=normal&text_u_variant=normal&text_u_decoration=none&text_u_color_h=8B1A1A&text_u_weight_h=bold&text_u_style_h=normal&text_u_variant_h=normal&text_u_decoration_h=none"></script>
    <noscript>Enable JavaScript or visit <a href="http://www.tsviewer.com/index.php?page=ts_viewer&ID=909139">TeamSpeak Viewer</a> to display the TeamSpeak server.</noscript>';
echo 'жопа';

} else { //нормальный вывод блока
     echo '<div id="ts-block">
                   я пустой блок
              </div>';
}

А при загрузке #ts-block выполняется такой AJAX-запрос:
$.ajax({
        type: "POST",
        cache: false,
        url: "ts-block.php",
        data: "ajaxing=1",
        success: function($content){
            $("#ts-block").html($content);
        }
    });

В общем, AJAX работает, после загрузки блока, фраза "я пустой блок" исчезает, и в него попадает слово "жопа". А вот скрипт тсвьювера почему-то не отображается должным образом. На сколько я понял, он должен выполнится после загрузки на страницу, и как этого добиться я чот никак не пойму...
Ответить с цитированием
  #2 (permalink)  
Старый 22.07.2012, 17:32
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Ничо не понял - тем более страница топика растянута

Есть демо страница с подгрузкой ? И желательно скрипты не гонять через Аякс контент - а подгружать либо внешим скриптом либо jQuery.getScript => http://jquery-docs.ru/Ajax/jQuery.ge...t/#urlcallback
Ответить с цитированием
  #3 (permalink)  
Старый 22.07.2012, 17:47
Аватар для Freakmeister
Аспирант
Отправить личное сообщение для Freakmeister Посмотреть профиль Найти все сообщения от Freakmeister
 
Регистрация: 15.01.2011
Сообщений: 61

Демо нет, в действительности у меня там всё усложнено в стопицот раз. Но если объяснить простым языком, то сервис tsviewer предлагает засунуть к себе в нужное место страницы вот эту хренотень:
<script type="text/javascript" charset="utf-8" src="http://www.tsviewer.com/ts3viewer.php?ID=909139&text=333333&text_size=10&text_family=4&js=1&text_s_weight=bold&text_s_style=normal&text_s_variant=normal&text_s_decoration=none&text_s_color_h=8B1A1A&text_s_weight_h=bold&text_s_style_h=normal&text_s_variant_h=normal&text_s_decoration_h=underline&text_i_weight=normal&text_i_style=normal&text_i_variant=normal&text_i_decoration=none&text_i_color_h=8B1A1A&text_i_weight_h=normal&text_i_style_h=normal&text_i_variant_h=normal&text_i_decoration_h=underline&text_c_weight=normal&text_c_style=normal&text_c_variant=normal&text_c_decoration=none&text_c_color_h=8B1A1A&text_c_weight_h=normal&text_c_style_h=normal&text_c_variant_h=normal&text_c_decoration_h=underline&text_u_weight=bold&text_u_style=normal&text_u_variant=normal&text_u_decoration=none&text_u_color_h=8B1A1A&text_u_weight_h=bold&text_u_style_h=normal&text_u_variant_h=normal&text_u_decoration_h=none"></script>
<noscript>Enable JavaScript or visit <a href="http://www.tsviewer.com/index.php?page=ts_viewer&ID=909139">TeamSpeak Viewer</a> to display the TeamSpeak server.</noscript>

И после загрузки этой части страницы, в этом месте отображается блок с тим-спиком, как показано по ссылке в первом посту.
Ответить с цитированием
  #4 (permalink)  
Старый 22.07.2012, 17:56
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Freakmeister,
Смотрите Выданную Вам ссылку -как правильно подгрузить ява скрипт через Аякс
Ответить с цитированием
  #5 (permalink)  
Старый 22.07.2012, 18:45
Аватар для Freakmeister
Аспирант
Отправить личное сообщение для Freakmeister Посмотреть профиль Найти все сообщения от Freakmeister
 
Регистрация: 15.01.2011
Сообщений: 61

Вставил это в AJAX-запрос - не работает.
echo '
<script type="text/javascript">
$(document).ready(function() {
    $.getScript("http://www.tsviewer.com/ts3viewer.php?ID=909139&text=333333&text_size=10&text_family=4&js=1&text_s_weight=bold&text_s_style=normal&text_s_variant=normal&text_s_decoration=none&text_s_color_h=8B1A1A&text_s_weight_h=bold&text_s_style_h=normal&text_s_variant_h=normal&text_s_decoration_h=underline&text_i_weight=normal&text_i_style=normal&text_i_variant=normal&text_i_decoration=none&text_i_color_h=8B1A1A&text_i_weight_h=normal&text_i_style_h=normal&text_i_variant_h=normal&text_i_decoration_h=underline&text_c_weight=normal&text_c_style=normal&text_c_variant=normal&text_c_decoration=none&text_c_color_h=8B1A1A&text_c_weight_h=normal&text_c_style_h=normal&text_c_variant_h=normal&text_c_decoration_h=underline&text_u_weight=bold&text_u_style=normal&text_u_variant=normal&text_u_decoration=none&text_u_color_h=8B1A1A&text_u_weight_h=bold&text_u_style_h=normal&text_u_variant_h=normal&text_u_decoration_h=none");
});
</script>
';
Ответить с цитированием
  #6 (permalink)  
Старый 22.07.2012, 18:59
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Freakmeister,
ds pfujybnFreakmeister,
Нужели трудно загнать адрес в переменную?
<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
 var Link="http://www.tsviewer.com/ts3viewer.php?\
ID=909139&text=333333&text_size=10&text_family=4&js=1&text_s_weight=bold&text\
_s_style=normal&text_s_variant=normal&text_s_decoration=none&text_s_color_h=8B\
1A1A&text_s_weight_h=bold&text_s_style_h=normal&text_s_variant_h=normal&text_s\
_decoration_h=underline&text_i_weight=normal&text_i_style=normal&text_i_variant\
=normal&text_i_decoration=none&text_i_color_h=8B1A1A&text_i_weight_h=normal&te\
xt_i_style_h=normal&text_i_variant_h=normal&text_i_decoration_h=underline&text\
_c_weight=normal&text_c_style=normal&text_c_variant=normal&text_c_decoration=n\
one&text_c_color_h=8B1A1A&text_c_weight_h=normal&text_c_style_h=normal&text_c_\
variant_h=normal&text_c_decoration_h=underline&text_u_weight=bold&text_u_style\
=normal&text_u_variant=normal&text_u_decoration=none&text_u_color_h=8B1A1A&text\
_u_weight_h=bold&text_u_style_h=normal&text_u_variant_h=normal&text_u_decoratio\
n_h=none";
    $.getScript(Link, function(){
         alert("Script loaded and executed.");
         alert(typeof(ts3v_toogleDiv))
    });
});
</script>
Ответить с цитированием
  #7 (permalink)  
Старый 22.07.2012, 19:27
Аватар для Freakmeister
Аспирант
Отправить личное сообщение для Freakmeister Посмотреть профиль Найти все сообщения от Freakmeister
 
Регистрация: 15.01.2011
Сообщений: 61

И какая здесь разница между тем, что я написал выше?
Ответить с цитированием
  #8 (permalink)  
Старый 22.07.2012, 19:48
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Freakmeister,
Нажмите - код работает - вон я взял typeof(ts3v_toogleDiv) от функции в скрипте
Ксать - такой длинный параметр - обязателен ?
Ответить с цитированием
  #9 (permalink)  
Старый 22.07.2012, 20:08
Аватар для Freakmeister
Аспирант
Отправить личное сообщение для Freakmeister Посмотреть профиль Найти все сообщения от Freakmeister
 
Регистрация: 15.01.2011
Сообщений: 61

Код работает, но не в паре с аджаксом.
Ответить с цитированием
  #10 (permalink)  
Старый 22.07.2012, 20:19
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Freakmeister,
Там есть callback, где вывод allert - вместо allert и синхронизируйте
Очевидно контент должен быть загружен ранее и оттель вызывать загрузку скрипта
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как приостановить выполнение скрипта до получения результата AJAX запроса? Хиросим AJAX и COMET 9 31.10.2011 10:56
Скрипт ajax чата seoabcd Общие вопросы Javascript 2 20.02.2011 18:39
Проблема с событиями после ajax запроса Mirgorod AJAX и COMET 5 12.06.2010 18:24
Сохранение результата ajax запроса после нажатия 'back' gregOlsen AJAX и COMET 5 18.11.2009 12:23
Объясните как вызывается ajax скрипт AddressBook из формы prog90 AJAX и COMET 3 06.06.2009 16:12