LINUX.ORG.RU

Пометить сообщение как прочитанное как в гуглридере


0

0

Привет. Нужно сделать что-то типа гугл ридера. Когда скроллишь оно само определяет какое сообщение у тебя показывается и отмечает его прочитанным. Как оно это делает? Есть подозрение что можно получить текущие x, y просмотра iframe'а (мне хорошо бы div'а, у которого overflow: scroll) и потом высчитать на каком ты сейчас элементе (джаваскриптом пробежаться и посмотреть). Спасибо.

Вроде бы надо обрабатывать событие onblur , но я не знаю насколько оно поддерживается браузерами и как именно эти самые разные браузеры рассматривают потерю фокуса ( т.е. может быть исключительно по клику ).

volh ★★
()
Ответ на: комментарий от kost-bebix

гуг-ридер вистимо свои скрипты обфусцирует. но по впечатлениям от использования, все таки, схема с координатами мне кажется более правдоподобной. обрабатывается событие onscroll для div'а ну и все как ты пишешь. проблема в том что ты либо рассуждаешь и не делаешь либо вообще не понимаешь как это сделать. просто начни, способов много есть разных, и все они верны.

trashymichael ★★★
()
Ответ на: комментарий от trashymichael

trashymichael сказал:

ты либо рассуждаешь и не делаешь

мне это по работе надо, вот вечером спросил у знающих людей чтоб завтра утром зная способ приступать) Понятное дело что не делаю, сейчас время как раз ЛОР читать (а уже и спать). Завтра все способы опробую, можт даже в бложек отпишусь и сюда скажу, если интересно тебе, конечно.

kost-bebix ★★
() автор топика
Ответ на: комментарий от kost-bebix

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

trashymichael ★★★
()
Ответ на: комментарий от trashymichael

на счет события onblur (я ридером не пользуюсь и не полезу его сейчас открывать), но не уверен что записи «помечаются» при расфокусировке, достаточно их листать, водить по ним мышкой не обязательно.

trashymichael ★★★
()
Ответ на: комментарий от trashymichael

trashymichael сказал:

зачем тогда было спрашивать?

чтоб не изобретать велосипедов, очевидно же.

kost-bebix ★★
() автор топика
Ответ на: комментарий от trashymichael

trashymichael сказал:

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

я спрашивал о том, который в гугл ридере. Ну не знаешь — так и скажи, ничего страшного. Всё равно спасибо, конечно, попробую поглядеть.

kost-bebix ★★
() автор топика
Ответ на: комментарий от volh

ок, расскажу как дойду до этого, пока что с другой хренью страдаю. Сделать должен до конца недели, так что можт и не забуду :-)

kost-bebix ★★
() автор топика
Ответ на: комментарий от trashymichael

trashymichael сказал:

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

и что? Это делает невозможным понять как у них сделано? Ложь ведь!

kost-bebix ★★
() автор топика
Ответ на: комментарий от trashymichael

Мне вот интересно, нафига ты пишешь сообщения здесь, если не собираешься отвечать. Чел вполне конкретную вещь спросил, а ты четыре сообщения прокидывал муть типо «есть много разных решений» ))) Надо было быть проще, и послать его на винфак ))) Или здездюлку зарабатываешь? Сколько еще осталось )))

Alesh
()
Ответ на: комментарий от volh

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

var el = document.getElementById('moderate_item_9'); // element

if (el.offsetTop > window.pageYOffset
    && el.offsetTop < window.pageYOffset + window.innerHeight) {   
	alert('йес!');
	// top of the div is visible 
} else {
	alert('ноу :-(');
}

Думаю попробовать высчитать в массив высоты всех элементов, затем вешать onscroll и вычисление. Только надо еще сделать так, чтоб не фигачилось на каждый чих, а не чаще чем раз в четверть секунды пересчитывалось, что ли.

Если что - постараюсь отписаться.

kost-bebix ★★
() автор топика
Ответ на: комментарий от Alesh

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

trashymichael ★★★
()
Ответ на: комментарий от trashymichael

Просто на вопрос «Помогите, не хочу изобретать велосипед». Ты ответил: «Подсказываю, слово велосипед начинается с буквы В». И дальше на ответ вопрошающего: «Я в курсе, типо». Ты ответил: «А зачем вообще тогда задавать вопросы».

Может ты посчитал его глупцом «человек вместо того что бы сесть и написать жалких 10 строк кода создал топик, начал тут со мной переписываться», и хотел постебаться, но этого не было.

... а ты зачем тут отписался? «сколько еще осталось»?

Ладно забей, просто показалось, что только из-за желания набрать скора можно генерить такие ответы.

Alesh
()
Ответ на: комментарий от Alesh

где же тут велосипед? может ты знаешь готовые кошерные решения на тему «пометить сообщение прочитанным как в гуглридере»?

trashymichael ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.