Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Загрузка html документа

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
kuller
Отправлено: 30 Ноября, 2015 - 13:15:01
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 561
Дата рег-ции: Нояб. 2009  


Помог: 2 раз(а)




Подскажите пожалуйста! Есть ли какой нибудь плагин который загружает содержимое html документа в указанный div? несколько дней ищу такую возможность и смог найти только пример данной реализации
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function showContent(link)
  3. {
  4.         $("#sideRight").addClass('sideRight1'); // панель
  5.         var cont = document.getElementById('contentBody');
  6.         var loading = document.getElementById('loading');
  7.  
  8.        
  9.         if(getCookie('panel') == '1') cont.innerHTML = loading.innerHTML; else{
  10.                 date = new Date();
  11.                 date.setHours(date.getHours() + 1);
  12.                 setCookie('panel', '1', date.toUTCString());
  13.                 setTimeout(function()
  14.                 {
  15.                         $("#contentBody").css('display','block');
  16.                         cont.innerHTML = loading.innerHTML
  17.                 }, 1500);
  18.         }
  19.  
  20.         var http = createRequestObject();
  21.         if(http)
  22.         {
  23.                 http.open('get', link);
  24.                 http.onreadystatechange = function()
  25.                 {
  26.                         if(http.readyState == 4)
  27.                         {
  28.                                 setTimeout(function() {cont.innerHTML = http.responseText}, 5000);
  29.                         }
  30.                 }
  31.                 http.send(null);
  32.         }else{
  33.                 document.location = link;
  34.         }
  35. }
  36.  
  37. function createRequestObject()
  38. {
  39.         try { return new XMLHttpRequest() }
  40.         catch(e)
  41.         {
  42.                 try { return new ActiveXObject('Msxml2.XMLHTTP') }
  43.                 catch(e)
  44.                 {
  45.                         try { return new ActiveXObject('Microsoft.XMLHTTP') }
  46.                         catch(e) { return null; }
  47.                 }
  48.         }
  49. }
  50.  


этот пример меня не совсем устраивает. т.к. когда делаю какие та изменения в документе html (который подгружаю) эти изменения не отображаются. Отображаться начинают только после очистки истории.
Также данные которые должны отображаться в панели (div) которая выезжает с правой стороны. Панель не успевает отобразиться до конца, а содержимое html документа уже отображается. Данную проблему решил через setTimeout, но когда кликаю на кнопку чтоб загрузить другой html документ прелоадер начинает отображаться не сразу т.к. указан setTimeout. Здесь решил сделать определение была ли нажата первый раз кнопка или нет, и сделал запись в куки, но понимаю что это какой та получается бред! Подскажите пожалуйста может есть какой та плагин? или может можно решить то что я добавлял самостоятельно не таким бредовым кодом, и решить проблему с кешированием.

(Отредактировано автором: 30 Ноября, 2015 - 13:18:31)

 
 Top
Viper
Отправлено: 30 Ноября, 2015 - 22:17:56
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Зачем столько кода??? И зачем плагин?
Обрабатываете клик по элементу по которому должно что-то происходить и через $.get() получаете документ html, затем лепите в тот div который нужно.
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $(element).click(function(e){
  3.         e.preventDefault();
  4.  
  5.         $.get('index.php', function(response){
  6.                 $('#contentBody').html(response);
  7.         });
  8. });

element это то по чём кликаем(КО).


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
kuller
Отправлено: 01 Декабря, 2015 - 17:39:26
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 561
Дата рег-ции: Нояб. 2009  


Помог: 2 раз(а)




Viper пишет:
Зачем столько кода??? И зачем плагин?
Обрабатываете клик по элементу по которому должно что-то происходить и через $.get() получаете документ html, затем лепите в тот div который нужно.
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $(element).click(function(e){
  3.         e.preventDefault();
  4.  
  5.         $.get('index.php', function(response){
  6.                 $('#contentBody').html(response);
  7.         });
  8. });

element это то по чём кликаем(КО).


а как к этому прикрутить прелоадер?
 
 Top
Viper
Отправлено: 01 Декабря, 2015 - 22:20:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




kuller пишет:
а как к этому прикрутить прелоадер?
прелоадер какой, и для чего?


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
DelphinPRO
Отправлено: 01 Декабря, 2015 - 22:22:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




kuller пишет:
а как к этому прикрутить прелоадер?


CODE (javascript):
скопировать код в буфер обмена
  1. $(element).click(function(e){
  2.         e.preventDefault();
  3.  
  4.         $('.loader').show(); // показать
  5.  
  6.         $.get('index.php', function(response){
  7.                 $('#contentBody').html(response);
  8.                 $('.loader').hide(); // скрыть
  9.         });
  10. });


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB