Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.06.2016, 14:59
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 765

Подключить стороннии скрипты повле выполнения аякс-запроса.
Всем привет.В шаблоне три блока.В зависимости от условий(заданны и передаются с сервера) аяксом подгружается тот или иной див.Например при условии if(album = 1) подгружается третий блок
$.post(url)
        .done(function( data ) {
            $('#cont').html(data);
}

При этом нужно в этом блоке подключить js файл.Правильно ли использовать
$.getScript("/js/script.js");
и в какое место его правильно будет прописать?
Ответить с цитированием
  #2 (permalink)  
Старый 27.06.2016, 15:39
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 765

Сделал так
$(document).ready(function() {
var scr = "/components/photos/js/jquery.galleriffic.js";
var scr2 = "/components/photos/js/board.core.js";

$('.phot_txt').on('click',function (e) {
  e.preventDefault()
 var id = $(this).parents('.photo_container').attr('id');
  var url = $('#'+id+' > a').attr('href');

getContent(url,scr, scr2, true);

});

});

    window.addEventListener("popstate", function(e) {
        getContent(location.pathname, false);
    });

    function getContent(url,scr, scr2, addEntry) {
        $.post(url)
        .done(function( data ) {
$.getScript(scr); 
$.getScript(scr2); 		
        $('#cont').html(data);	
		
            if(addEntry == true) {
                history.pushState(null, null, url);
            }

        });
		}


Но как то криво работает.Нет-нет, да зависнет или криво сработает.
Ответить с цитированием
  #3 (permalink)  
Старый 28.06.2016, 08:06
Аватар для join
Профессор
Отправить личное сообщение для join Посмотреть профиль Найти все сообщения от join
 
Регистрация: 05.03.2012
Сообщений: 477

может скрипты надо грузить после html
$('#cont').html(data);
$.getScript(scr);
$.getScript(scr2);
Ответить с цитированием
  #4 (permalink)  
Старый 28.06.2016, 21:58
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

ureech, history.pushState успешно и без сбоев работает после window.onload
При $(document).ready(function() { - может подглючивать
Несколько скриптов лучше подгружать с интервалом(посколь при ассинхронке, второй может загрузиться ранее первого

23	$.getScript(scr); 
24	setTimeout(function() { $.getScript(scr2);},400);


Или просто объединить их в единый скрипт и подгружать единственный
Ответить с цитированием
  #5 (permalink)  
Старый 29.06.2016, 14:05
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

$.getScript(scr)

таким образом загруженный скрипт не кешируется.
если скрипт постоянный то может
var el = document.createElement('script');
el.src = 'you path src'; 
document.body.appendChild(el);

данный вариант будет кешировать скрипт на клиенте и файл будет взят из кеша
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Остановка обращений к файлу при помощи аякс запроса Ambassador Общие вопросы Javascript 6 22.02.2016 19:29
Получить значение текст.поля с помощью аякс запроса espltd Элементы интерфейса 1 26.06.2015 13:02
Обработка изображения до его отображения на странице после аякс запроса балерун Общие вопросы Javascript 1 30.05.2012 17:20
Время выполнения запроса Andrei jQuery 2 01.12.2010 11:32
Что происходит с символами во время выполнения запроса? Yazla Общие вопросы Javascript 4 11.12.2009 17:09