форум vBSupport.ru > vBSupport.ru > Гурушник > Кодер
Register Меню vBsupport Изображения Files Manager О рекламе Today's Posts Search
  • Родная гавань
  • Блок РКН снят
  • Premoderation
  • For English speaking users
  • Каталог Фрилансеров
  • If you want to buy some product or script
  • Администраторам
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей

Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
for English speaking users:
You may be surprised with restriction of access to the attachments of the forum. The reason is the recent change in vbsupport.org strategy:

- users with reputation < 10 belong to "simple_users" users' group
- if your reputation > 10 then administrator (kerk, Luvilla) can decide to move you into an "improved" group, but only manually

Main idea is to increase motivation of community members to share their ideas and willingness to support to each other. You may write an article for the subject where you are good enough, you may answer questions, you may share vbulletin.com/org content with vbsupport.org users, receiving "thanks" equal your reputation points. We should not only consume, we should produce something.

- you may:
* increase your reputation (doing something useful for another members of community) and being improved
* purchase temporary access to the improved category:
10 $ for 3 months. - this group can download attachments, reputation/posts do not matter.
20 $ for 3 months. - this group can download attachments, reputation/posts do not matter + adds eliminated + Inbox capacity increased + files manager increased permissions.

Please contact kerk or Luvilla regarding payments.

Important!:
- if your reputation will become less then 0, you will be moved into "simple_users" users' group automatically.*
*for temporary groups (pre-paid for 3 months) reputation/posts do not matter.
Уважаемые пользователи!

На форуме открыт новый раздел "Каталог фрилансеров"

и отдельный раздел для платных заказов "Куплю/Закажу"

Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже:
Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота.
Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
 
 
 
 
GiveMeABreak
Эксперт
 
GiveMeABreak's Avatar
Exclamation [JavaScript] Page Navigation
4

Здравствуйте!
Я в Javascript очень слаб, по этому прошу помощи.
Хочу сделать навигацию по страницам на AJAX (для уменьшения трафика, и чтобы страницы быстрее грузились), почти сделал НО возникла проблема. Если перейти с помощью AJAX'а на другую страницу, то перестают работать остальные AJAX'овские функции на страницы: редактирование постов, репутация, кнопка быстрого ответа и т.п.
Тестовый хак выложил в аттаче.
Вот JS файл, который я написал:
PHP Code:
// отображение прогресс бара
var progresstext '' vbphrase['loading_page'] + ' <img src="images/misc/11x11progress.gif">';

// функция загрузки навигации по страницам (pagenav)
function loadpagenav(pagethread)
{
    
// отправка запроса
    
var sUrl thread;
    var 
postData 'securitytoken=' SECURITYTOKEN '&type=gmab_loadnav&page=' page;
    var 
handleSuccess = function(o)
    {
        if(
o.responseText !== undefined)
        {
            
// эмулируем getElementByID и используем элементы
            
fetch_object('ajaxpagenav_1').innerHTML o.responseText;
            
fetch_object('ajaxpagenav_2').innerHTML o.responseText;

            
// инитилизируем функции vBulletin
            
vBulletin_init();
        }
    }
    
// а если ошибка, то...
    
var handleFailure = function(o)
    {
        if(
o.responseText !== undefined)
        {
            
alert(o.responseText);
        }
    }
    var 
callback =
    {
        
successhandleSuccess,
        
failurehandleFailure,
        
timeoutvB_Default_Timeout
    
};
    
// коннект
    
YAHOO.util.Connect.asyncRequest('POST'sUrlcallbackpostData);
}

// функция перехода к странице
function gmab_gotopage(pagethread)
{

    
// эмулируем getElementByID и используем элементы
    
fetch_object('ajaxpagenav_loading_1').innerHTML progresstext;
    
fetch_object('ajaxpagenav_loading_2').innerHTML progresstext;

    
// отправка запроса
    
var sUrl thread;
    var 
postData 'securitytoken=' SECURITYTOKEN '&type=gmab_loadpage&page=' page;

    
// загружаем функцию навигации по страницам
    
loadpagenav(pagethread);

    var 
handleSuccess = function(o)
    {
        if(
o.responseText !== undefined)
        {
            
// эмулируем getElementByID и используем элементы
            
fetch_object('posts').innerHTML o.responseText;

            
// эмулируем getElementByID и используем элементы
            
fetch_object('ajaxpagenav_loading_1').innerHTML '';
            
fetch_object('ajaxpagenav_loading_2').innerHTML '';

            
// устанавливаем адрес текущей страницы
             
document.location '#page=' page '';

            
// переходим вверх страницы
            
if(enable_scroll == '1')
            {
             
scroll(0,0); 
            }

            
// инитилизируем функции vBulletin
            
vBulletin_init();   

            
// отменяем переход на следующуюю страницу
            
return false;

        }
    }
    var 
handleFailure = function(o)
    {
        if(
o.responseText !== undefined)
        {
            
alert(o.responseText);
        }
    }
    var 
callback =
    {
        
successhandleSuccess,
        
failurehandleFailure,
        
timeoutvB_Default_Timeout
    
};

    
// коннект
    
YAHOO.util.Connect.asyncRequest('POST'sUrlcallbackpostData);

}

// функция загрузки страницы если присутсвует #page=XXX
function gmab_loadpage(pagethread)
{

   
// <= fix bug 1 start / 
   
var THIS_POSTSTOP document.location.hash.substr(document.location.hash.lastIndexOf('#poststop') + 9);

    if(
THIS_POSTSTOP != ""
    { return 
false; } 

   
// => fix bug 1 end / 

    // если page - пусто, отменяем переход

    
if(page == "")
    { return 
false; }

    
// отправка запроса
    
var sUrl thread;
    var 
postData 'securitytoken=' SECURITYTOKEN '&type=gmab_loadpage&page=' page;
    var 
handleSuccess = function(o)
    {
        if(
o.responseText !== undefined)
        {
            
// эмулируем getElementByID и используем элементы
            
fetch_object('posts').innerHTML o.responseText;

            
// загружаем функцию навигации по страницам
            
loadpagenav(pagethread);

            
// отменяем переход на следующуюю страницу
            
return false;

            
// инитилизируем функции vBulletin
            
vBulletin_init();
        }
    }
    var 
handleFailure = function(o)
    {
        if(
o.responseText !== undefined)
        {
            
alert(o.responseText);
        }
    }
    var 
callback =
    {
        
successhandleSuccess,
        
failurehandleFailure,
        
timeoutvB_Default_Timeout
    
};

    
// коннект
    
YAHOO.util.Connect.asyncRequest('POST'sUrlcallbackpostData);
}

// функция получения значения #page=XXX
function gmab_fetch_page()
  { 
   
// получаем информацию из адресной строки
   
var THIS_PAGE document.location.hash.substr(document.location.hash.lastIndexOf('#page=') + 6);

   
// если page = '', то отменяем переход
   
if(THIS_PAGE != "")
   { return 
THIS_PAGE; }else{ return false; }

     
// инитилизируем функции vBulletin
     
vBulletin_init(); 
  } 
Спасибо!
Attached Files
File Type: rar [AJAX] Page Navigation.rar (6.4 KB, 22 views)
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
GiveMeABreak
Эксперт
 
GiveMeABreak's Avatar
Default
0

разобрался, спасибо Ghost
необходимо интилизировать функции
Quote:
vB_AJAX_QuickEdit_Init('posts');
qr_init();
vBulletin_init();
ждите готового хака
 
 
DokToP
Знаток
 
DokToP's Avatar
Default
0

/*******************************************************/
Тут был мой совет.
/*******************************************************/
Правка: Упс)))) Типик-стартер Решение уже нашел.
 
 
GiveMeABreak
Эксперт
 
GiveMeABreak's Avatar
Default
0

сейчас буду тестить на своем форуме, если все будет гут то выложу
 
 
Cybermama
Эксперт
 
Cybermama's Avatar
Default
0

А как насчёт индексации страниц ботами, если они будут через аякс выдаваться? Будет как-то предусмотрено? Ну и с сотиков народ ходит
 
 
GiveMeABreak
Эксперт
 
GiveMeABreak's Avatar
Default
0

если у юзера нет JS то будут обычные ссылки на страницы
 
 
Kristof
Эксперт
 
Kristof's Avatar
Default
0

Как тест?
 
 
GiveMeABreak
Эксперт
 
GiveMeABreak's Avatar
Default
0

немогу решить две проблемы:
1. не работает репутация
2. не работает всплывающее DHTML меню при клике на ник
 
 
Yoskaldyr
Специалист
Default
3

GiveMeABreak, Проблема в том что инициализация меню задается в коде постбита, а не в конце страницы, надо пройтись по всему DOM-дереву div-а с id=posts, найти все меню и запустить vbmenu_register.

Я знаю как на чистом js это сделать, но код будет громадный и не красивый, знаю как на jquery код в пару строк, но нафиг если есть Yui, поэтому просьба к тем кто разбирается в yui подсказать как можно сделать поиск элементов по id по определенной маске.

Оффтоп
 
 
sejd
Эксперт
 
sejd's Avatar
Default
0

Этот хак был бы жизненно необходим на странице профиля.
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 07:51 PM.


Powered by vBulletin® Version 3.6.3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.