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
Форумы портала PHP.SU :: Версия для печати :: Загрузка html документа
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Загрузка html документа

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

1. kuller - 30 Ноября, 2015 - 13:15:01 - перейти к сообщению
Подскажите пожалуйста! Есть ли какой нибудь плагин который загружает содержимое 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. Здесь решил сделать определение была ли нажата первый раз кнопка или нет, и сделал запись в куки, но понимаю что это какой та получается бред! Подскажите пожалуйста может есть какой та плагин? или может можно решить то что я добавлял самостоятельно не таким бредовым кодом, и решить проблему с кешированием.
2. Viper - 30 Ноября, 2015 - 22:17:56 - перейти к сообщению
Зачем столько кода??? И зачем плагин?
Обрабатываете клик по элементу по которому должно что-то происходить и через $.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 это то по чём кликаем(КО).
3. kuller - 01 Декабря, 2015 - 17:39:26 - перейти к сообщению
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 это то по чём кликаем(КО).


а как к этому прикрутить прелоадер?
4. Viper - 01 Декабря, 2015 - 22:20:33 - перейти к сообщению
kuller пишет:
а как к этому прикрутить прелоадер?
прелоадер какой, и для чего?
5. DelphinPRO - 01 Декабря, 2015 - 22:22:07 - перейти к сообщению
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. });

 

Powered by ExBB FM 1.0 RC1