Приветствуем Вас на сайте Best Studio!
      Авторизировавшись на сайте Вы получаете возможность заказывать эксклюзивные вещи для Вашего сайта, скачивать новинки, общаться с друзьями.

      Если у Вас ещё нет аккаунта на Best Studio, вы можете создать его потратив не более 30-ти секунд используя форму справа с заголовком "Регистрация"
Вход на сайт
Логин:

Пароль:
Вход
Регистрация
Логин:

Пароль:

Email:
Регистрация
Войти | Зарегистрироваться
Настройки
Анимация Шапки
Анимация Меню
Анимация Футера
Автообновление Чата
Автообновление Статистики

Перезагрузите страницу
Опции темы
Я настройка

Страница 1 из 11
Модератор форума: feapir 
Форум » Java » Скрипты » Адреса пользователей и модулей как вконтакте [Рефакторинг] (Те же яйца, только в профиль)
Адреса пользователей и модулей как вконтакте [Рефакторинг]

Группа: Зам. Админа
Статус: Offline
Сообщений: 360
Карма: 1001
Оригинальная новость

Что нового?
  • Удобная настройка новых быстрых url
    Code
    var links = {
           'im':{ // http://site.ucoz.ru/im -> http://site.ucoz.ru/index/14
            'url':'/index/14',
            'title':'Сообщения'
           },
           'settings':{ // http://site.ucoz.ru/settings -> http://site.ucoz.ru/index/11
            'url':'/index/11',
            'title':'Настройки'
           },
           'people':{ // http://site.ucoz.ru/people -> http://site.ucoz.ru/index/15
            'url':'/index/15',
            'title':'Люди'
           }
          }

  • Ускорение загрузки (что очень важно для подобных хаков).
    Оригинальный скрипт: 37ms, Данный скрипт: 30ms
    UPD2:
  • AJAX загрузка снесена из-за проблем с JS. Версия с iframe пофикшена и теперь тоже меняет адрес браузера

    Несжатый код с комментариями:

  • Изменено: Op1um - Суббота, 24.12.2011, 11:57

    Группа: Житель
    Статус: Offline
    Сообщений: 44
    Карма: 133
    ....во

    Группа: Модератор
    Статус: Offline
    Сообщений: 227
    Карма: 156
    Даже сказать нечего.
    Ж[e]Н[ё]k
    4
    24.12.2011    11:57

    Группа: Житель
    Статус: Offline
    Сообщений: 173
    Карма: 151
    Я загрузил файлы в файловый менеджер, изменил ссылку. и ничего не работает

    Группа: Администратор
    Статус: Offline
    Сообщений: 967
    Quote (Ж|e|Н|ё|k)
    Ж[e]Н[ё]k

    Ну что тут можно поделать)

    Quote (0sk0L0k)
    0sk0L0k
    отличная реализация)
    Ж[e]Н[ё]k
    6
    24.12.2011    12:28

    Группа: Житель
    Статус: Offline
    Сообщений: 173
    Карма: 151
    Dorian, а c регистрацией можно такое сделать? а то что то у меня не получается

    Группа: Администратор
    Статус: Offline
    Сообщений: 967
    Со всем можно
    Ж[e]Н[ё]k
    8
    24.12.2011    13:35
    Изменено: Ж[e]Н[ё]k - Суббота, 24.12.2011, 12:50

    Группа: Житель
    Статус: Offline
    Сообщений: 173
    Карма: 151
    Code
          'register':{ // http://site.ucoz.ru/register -> http://site.ucoz.ru/index/3   
             'url':'/index/3',   
             'title':'Регистрация'  


    Ссылка открывается, но просто белый фон

    Добавлено (24.12.2011, 13:35)
    ---------------------------------------------
    И еще, если ставить урл на изменение данных, при сохранении он пишет "Вы пытаетесь сделать противозаконное действие!"


    Группа: Зам. Админа
    Статус: Offline
    Сообщений: 360
    Карма: 1001
    Quote (Ж|e|Н|ё|k)
    Ссылка открывается, но просто белый фон

    Проблема с JS. Выложил пофикшенную версию. Пробуй.
    Ж[e]Н[ё]k
    10
    24.12.2011    14:29
    Изменено: Ж[e]Н[ё]k - Суббота, 24.12.2011, 14:39

    Группа: Житель
    Статус: Offline
    Сообщений: 173
    Карма: 151
    0sk0L0k, все! Теперь все работает. А нельзя сделать так, чтобы новое url как бы сохранялось, то есть Если жмешь кнопку профиль у тебя открывается профиль с url site.ru/profile А если ты хочешь зайти в свой профиль через список пользователей, то url site.ru/index/8
    MySelection
    11
    24.12.2011    14:51

    Группа: Житель
    Статус: Offline
    Сообщений: 137
    Карма: 39
    Смени ссылку вместо $PERSONAL.......$ на /$USERNAME$
    Ж[e]Н[ё]k
    12
    24.12.2011    14:55
    Изменено: Ж[e]Н[ё]k - Суббота, 24.12.2011, 14:57

    Группа: Житель
    Статус: Offline
    Сообщений: 173
    Карма: 151
    MySelection, все равно
    MySelection
    13
    24.12.2011    15:47

    Группа: Житель
    Статус: Offline
    Сообщений: 137
    Карма: 39
    Сайт в лс или напиши в скайп (скайп есть у меня в профиле).
    Комбат
    14
    24.12.2011    18:12

    Группа: Юзер
    Статус: Offline
    Сообщений: 8
    А куды вставлять?:D
    JeRRy_Lee
    15
    20.02.2012    17:34

    Группа: Юзер
    Статус: Offline
    Сообщений: 2
    почему, когда я меняю ссылки, к примеру пишу:
    'mypm':{
    'url':'/index/14',
    'title':'Сообщения'
    то выдает, "профиль не найден."
    MySelection
    16
    20.02.2012    19:12

    Группа: Житель
    Статус: Offline
    Сообщений: 137
    Карма: 39
    1. /index/14 - это сообщения. Как у вас может выдавать ошибку "Профиль не найден" я не знаю.
    2. Смотрите внимательно на код и не удаляйте всё, что попало.
    JeRRy_Lee
    17
    21.02.2012    00:10

    Группа: Юзер
    Статус: Offline
    Сообщений: 2
    нет, вы меня не много не так поняли!:)
    когда я пишу код:
    ------------------------------------------------------------------------------------
    (function(){ //Защита от захламления и конфликтов глобального пространства имен
    var links = {
    'im':{ // http://site.ucoz.ru/im перенаправит http://site.ucoz.ru/index/14
    'url':'/index/14',
    'title':'Сообщения'
    },
    'settings':{
    'url':'/index/11',
    'title':'Настройки'
    },
    'people':{
    'url':'/index/15',
    'title':'Люди'
    },
    'signup':{
    'url':'/index/3',
    'title':'Регистрация'
    }
    }
    var path = title = '',
    url = document.location.pathname;

    $.each(links, function(i, obj){ // Ищем возможные быстрые ссылки
    if(url.match(new RegExp(i,"g")) != null){ // Ссылка в объекте настроек найдена
    path = obj.url; // Сохранение адреса страницы для отображения
    title = obj.title; // Сохранение title страницы
    return false; // Возврат false, который прервет цикл, а значит съекономит пару мс
    }
    });
    if(path == '' && url.match(/\//g).length == 1){ // Быстрая ссылка не найдена. Может юзер?
    path = '/index/8-0-'+url.substr(1).replace(/-/g, '~')+'/';
    title = 'Профиль пользователя '+url.substr(1);
    }
    if(path != '' && title != ''){ // Ссылка найдена или url является логином
    document.title = title;
    $(function(){
    $('body').html('<iframe id="parent-iframe" src="'+path+'" style="width:100%;height:100%" frameborder="0"><\/iframe>');
    $('#parent-iframe').load(function(){
    $(this).contents().find('a').attr('target', '_top');
    });
    });
    } else {
    $(function(){
    document.title = 'Ошибка 404. Запрашиваемая страница не найдена.';
    $('#content-404').show();
    });
    }
    })();
    ------------------------------------------------------------------------------------
    Я например хочу добавить или заменить несколько страниц, к примеру, отрывок из кода:
    ------------------------------------------------------------------------------------
    var links = {
    'im':{ // http://bf3-team.ru/im перенаправит http://bf3-team.ru/index/14
    'url':'/index/14',
    'title':'Сообщения'
    },
    'settings':{
    'url':'/index/11',
    'title':'Настройки'
    },
    'register':{
    'url':'/index/3',
    'title':'Регистрация'
    }
    'promo':{
    'url':'/promo.htm',
    'title':'Промо страница'
    }
    ------------------------------------------------------------------------------------
    То при вводе в браузер, к примеру: bf3-team,ru/promo либо register, мне выдает: Пользователь не найден.
    Форум » Java » Скрипты » Адреса пользователей и модулей как вконтакте [Рефакторинг] (Те же яйца, только в профиль)
    Страница 1 из 11
    Поиск: