Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Переход по страницам на AJAX, Предложения 
:(
    Опции темы
R.M.
Дата 7.11.2006, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


Профиль
Группа: Участник
Сообщений: 2164
Регистрация: 8.6.2005
Где: Питер

Репутация: 1
Всего: 30



Цитата(Alx @  7.11.2006,  02:40 Найти цитируемый пост)
отправка PM

Я тоже предлагал, ИМХО очень удобно.


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
sergejzr
Дата 7.11.2006, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 35
Всего: 360



Цитата(Wowa @  6.11.2006,  23:36 Найти цитируемый пост)
Везде, где это повысило бы юзабилити. Предлагайте. 

Быстрое редактирование постов. И добавление ессно. Такая штука на новых ИПБ стоит уже... Можно ещё много чего, но йти две вещи ИМХО - самые главные.


ПС: Например можно было бы полную цитату через АЯКС сделать. Да и быструю тоже.. smile



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
12345c
Дата 7.11.2006, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 4
Всего: 101



Цитата(Alx @  7.11.2006,  05:03 Найти цитируемый пост)
попытался написать back/forward для IE.
вроде получилось..

В смысле, по кнопкам на панели браузера "back/forward" - и срабатывает? При переходе по якорям IE6, как известно, имеет непроходимый баг, 2-3 раза обсуждалось и исследовалось в форуме JS. Кто-то смог сделать это через флеш, а с чистым JS оказалось, что можно зафиксировать первую попытку воспользоваться переходом по истории, а дальше не работает. Тест здесь: http://javascript.aho.ru/example/JsPrimeryCode-50.htm#d . По показаниям видно, что как только нажимаем кнопки "back/forward" , то скриптом не можем правильно отследить document.location.href, а history.length перестаёт правильно работать.

Как у тебя получилось это отследить?

ЗЫ: в IE7 тот же баг остался. 

Это сообщение отредактировал(а) 12345c - 7.11.2006, 13:32
PM WWW   Вверх
Girder
Дата 7.11.2006, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 25
Всего: 155



Цитата(sergejzr @  7.11.2006,  14:06 Найти цитируемый пост)
Например можно было бы полную цитату через АЯКС сделать. Да и быструю тоже.. 
Ага... я тоже думал на счет быстрой - выкинуть часть скриптов отвечающие за енто и... через ajax smile

PS: Вот только нагрузка...



--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
sergejzr
Дата 7.11.2006, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 35
Всего: 360



Цитата(Girder @  7.11.2006,  12:18 Найти цитируемый пост)
PS: Вот только нагрузка...

У нас XCache ведь. Его можно использовать. А парсить на клиенте. Хотя лучше сперва всё остальное на него посадить.

Мда.. Работы ещё - непочатый край..


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
pythonwin
Дата 7.11.2006, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 2
Всего: 36



редактирование через AJAX - это что-то интерестное smile
можно по пабробней
PM WWW GTalk Jabber   Вверх
Girder
Дата 7.11.2006, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 25
Всего: 155



Цитата(sergejzr @  7.11.2006,  14:25 Найти цитируемый пост)
нас XCache ведь.
Вероятность того... что будет цита-титься один и тот же пост постоянно - ноль. Так что в ентом случаи... он будет почти не использоваться.



--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
sergejzr
Дата 7.11.2006, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 35
Всего: 360



Цитата(Girder @  7.11.2006,  12:34 Найти цитируемый пост)
Вероятность того... что будет цита-титься один и тот же пост постоянно - ноль. Так что в ентом случаи... он будет почти не использоваться.

Если мы топ так и так кэшируем...

Хотя. В этом случае можно на клиенте парсить прямо innerHTML поста... Чтото вроде того я уже делал, но аякс тогда не пошёл..


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
pythonwin
Дата 7.11.2006, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 2
Всего: 36



есть либа, которая прекрасно работает с AJAX - использовать будем?
PM WWW GTalk Jabber   Вверх
sergejzr
Дата 7.11.2006, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 35
Всего: 360



Цитата(pythonwin @  7.11.2006,  12:27 Найти цитируемый пост)
редактирование через AJAX - это что-то интерестное smile
можно по пабробней 

Вот сюда сходи:
http://www.losena.ru/forum/index.php?act=idx

Зарегся, создай сообщение, а потом Изменить -> Быстрая правка


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Alx
Дата 7.11.2006, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 7
Всего: 78



да я кривовато вчера написал.. Сегодня вечером перепишу' тогда расскажу. Ну я не думаю' что я там велосипед изобрел.. Скорее всего этот вариант уже был..


--------------------
PM MAIL WWW ICQ   Вверх
ivashkanet
Дата 7.11.2006, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 3
Всего: 149



Цитата(Girder @  7.11.2006,  12:18 Найти цитируемый пост)
Ага... я тоже думал на счет быстрой - выкинуть часть скриптов отвечающие за енто и... через ajax 

Вот с этим поосторожнее, плиз  Пожалейте диалапщиков  smile 

Как я уже когда-то говорил, когда я выхожу на форум из дома, я сначала открываю все нужные мне страницы, отключаюсь, отвечаю, подключаюсь и отправляю ответ.

Так вот, если сделать цитату на Аяксе, то я не смогу ей пользоваться (а пользуюсь я ей оооочень часто)  smile 

Вот если проверять, что связи нет и, в этом случае, использовать стандартную функцию (или как-нить по-другому), то я согласен, а подругому ни-ни smile 
PM MAIL WWW ICQ   Вверх
Alx
Дата 8.11.2006, 01:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 7
Всего: 78



мда, скрипт я дописал, теперь полноценно работает во всех браузерах, но я посмотрел, и действительно, как я и предполагал такое решение уже было. вроде бы даже так реализовано в GMail.

суть проста: для всех браузеров кроме IE при переходе по ссылке вида #smth переход записывается в историю, однако сама страница не обновляется (в т.ч. и при вызове из истории, кнопками назад/вперед). поэтому запускаем таймаут (а это плохо) и ждём, пока location.hash не совпадёт с текущей подгруженной страницей (а значит юзер нажал кнопку "назад" или "вперед").
для ie - динамически создаём ифрейм и подгружаем в него с сервера (и это плохо) файл (правда вес всего ~60 байт) с содержимым <script>top.loadPage(location.search.substring(1));</script>, передавая ему после ? нужный параметр. Правда почему-то (?) это работает ровно через раз, поэтому добавляем строку {объект нульфрейма}.document.write('<script>top.loadPage("'+act+'");</script>');, где act - необходимый параметр. работает это строго поочереди, и поэтому, и тот и другой вариант должны присутствовать (  smile мдя.. ).

вот такая кривизна, но всё же работает. правда в обоих случаях есть недостатки. в принципе, недостатки эти символические, на работу они заметно не повлияют, но мне лично, такой код не нравится. если кто-нибудь придумает новый - получит мировое признание и пожизненное пособие (наверное). у меня же в последнее время башка варит туго. хотя я чувствую, что выход должен быть где-то рядом, но поймать его не могу.

пример работы: http://soft.flyweb.in/small/ajax_hisnav/

index.html :
Код

<html>
<head>
<title>AJAX history navigation</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="JavaScript">
<!--//

 var realAct = '';

onload = function() 
{   var act = (document.location.hash) ? document.location.hash.substring(1) : 'idx';

    if(window.navigator.userAgent.indexOf("MSIE") != -1)
    {   var crHisNav = document.createElement('IFRAME');
        crHisNav.src = "hisNav.html?"+act;
        crHisNav.setAttribute('height','1');
        crHisNav.setAttribute('width','1');
        crHisNav.style.setAttribute('visibility','hidden');
        document.getElementsByTagName('body')[0].appendChild(crHisNav);
    }
    else
    {   setInterval("if(((document.location.hash)?document.location.hash.substring(1):'idx') != realAct) loadPage(((document.location.hash)?document.location.hash.substring(1):'idx'))",50)
        loadPage(act);
    }
}

 document.onclick = clickFunc;

 var e_source = '(window.navigator.userAgent.indexOf("Gecko") != -1) ? e.target : window.event.srcElement;';

function clickFunc(e)
{  var hisNav = top.frames[0];

    if(eval(e_source).className.indexOf("_entire") != -1)
    {   var act = eval(e_source).href.substring(eval(e_source).href.lastIndexOf('#')+1);
        if(window.navigator.userAgent.indexOf("MSIE") != -1)
        {   hisNav.document.location.href = "hisNav.html?"+act;
            hisNav.document.write('<script>top.loadPage("'+act+'");</script>');
        }
        else
            loadPage(act);
    }
}

function loadPage(act)
{       var inpObj = top.document.getElementById('contentDiv');
        var pageContent = "";
        realAct = act;

        switch(act)
        {   case "idx" : pageContent = "главная страница"; break;
            case "link1" : pageContent = "содержимое из <b>первой</b> ссылки"; break;
            case "link2" : pageContent = "содержимое из <b>второй</b> ссылки"; break;
            case "link3" : pageContent = "содержимое из <b>третьей</b> ссылки"; break;
        }

        inpObj.innerHTML = pageContent;
}

//-->
</script>
</head>
<body>
<a href="#idx" class="_entire">главная</a> | <a href="#link1" class="_entire">ссылка 1</a> | <a href="#link2" class="_entire">ссылка 2</a> | <a href="#link3" class="_entire">ссылка 3</a>
<br><br>
<div id="contentDiv" style="height:200px;width:300px;overflow:auto;background:#cccccc;border:1px solid #333333;color#333333;font-family:Verdana;font-size:10px;padding:10px;"></div>
</body>
</html>


hisNav.html
Код

<script>top.loadPage(location.search.substring(1));</script>


Это сообщение отредактировал(а) Alx - 8.11.2006, 02:10


--------------------
PM MAIL WWW ICQ   Вверх
12345c
Дата 8.11.2006, 02:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Круглый
****


Профиль
Группа: Vingrad developer
Сообщений: 2018
Регистрация: 26.12.2005
Где: наша не пропадала ?

Репутация: 4
Всего: 101



Так у меня есть мысль в связи с особенностями IE - зарегистрировать первый раз попытку пользования историей (это возможно), и тут же дать вверху окна предупреждение, что это криво, пользуйтесь, мол, этими 2 кнопками или гор.клавишами. И предоставляем их как заменители навигации истории, отслеживать клики по которым умеем.

(Надеюсь, что этим скромным постом мировое признание уже обеспечено. Надо же, ИЕ6 и ИЕ7 уделать, не они тебя, а ты их.)
PM WWW   Вверх
Alx
Дата 8.11.2006, 02:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 7
Всего: 78



12345c, 
ну не думаю)) это я уже давно практикую smile например: http://zh-akvareli.ru/page.html

только вот отслеживанием попытки изменения истории не заморачивался smile
поделись)


--------------------
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Обсуждение форума | Следующая тема »


 




[ Время генерации скрипта: 0.0630 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.