Комментарии 25
>> Бывают случаи, когда в браузере приходится читать большой текст в несколько приёмов. Это может быть роман, статья или техническое руководство.
«Opera» из тэгов уберите — она и без велосипедов сохраняет положение всех открытых страниц при включённом режиме «Продолжитьс места разъединения», за одним исключением:
>> Хорошо, когда документ разделён на главы и снабжён удобной навигацией
плохо, т.к. при наличии fragment identifier в ссылке сохранение положения прокрутки документа не срабатывает в Опере.
«Opera» из тэгов уберите — она и без велосипедов сохраняет положение всех открытых страниц при включённом режиме «Продолжитьс места разъединения», за одним исключением:
>> Хорошо, когда документ разделён на главы и снабжён удобной навигацией
плохо, т.к. при наличии fragment identifier в ссылке сохранение положения прокрутки документа не срабатывает в Опере.
То есть, если Вы читали десять документов, каждый из них закрыли, а потом захотите вернуться к местам, до которых Вы дочитали, Opera сможет автоматически восстановить статус прокрутки для каждого документа? Простите, у меня не получилось. Описанный Вами способ работает только в том случае, если браузер закрывается при открытых документах — только они и будут восстановлены пре следующем запуске.
Да, я написал об этом минусе. Но, кажется, пользователи не часто меняют размер окна. По крайней мере для постоянных нужд, не для экспериментов.
А закрывать зачем… Мало ли. Зачем вообще закрывают программы…
А закрывать зачем… Мало ли. Зачем вообще закрывают программы…
Храните позицию в процентах от доступной высоты. Тогда при изменении размера окна вы найдете ту же самую позицию, так как доступная высота тоже изменится.
Но это существенно усложнит и увеличит код: во-первых, у запроса доступной высоты свои проблемы с кроссбраузерностью, во-вторых это лишняя логика и пересчёты. Впрочем, для тех, кто действительно так уж часто меняет размеры окна для одного и того же документа, это, наверное, выход.
какие проблемы? вы используете scrollTop, точно также доступен scrollHeight который определяет размер скролбара.
Ну, вот здесь говорится, что scrollHeight не корректно обрабатывается в IE:
www.quirksmode.org/dom/w3c_cssom.html#t36
www.quirksmode.org/dom/w3c_cssom.html#t36
Ой, и в Opera тоже.
В Оперу я сообщал об ошибке этой год или два назад (еще до 10й версии), после выхода 10й, кажется напоминал, про косяк, но они не реагируют и забили болт. И не только на эту. Короче scrollHeight на ширину скролбара больше реального значения. Так что на эти 17-20 пикселов можно забить — будет небольшая погрешность.
«When the element has no scrollbars IE makes the scrollHeight equal to...»
случай, когда скролбара нет, нам не интересен совсем, верно?
случай, когда скролбара нет, нам не интересен совсем, верно?
Откройте любое количество табов, прокрутите все в нужное положение, закройте Оперу. Запустите Оперу снова — все прокрутится в нужную позицию.
Часто пользуюсь этой возможностью, когда читаю электронные книги в txt или html.
Точно так же, сохраняется положение прокрутки, если открывать закрытые табы из корзины.
Исключение: ссылки вида
Такие страницы прокручивает не в положение, в котором страница была закрыта, а на указанный в ссылке элемент.
Часто пользуюсь этой возможностью, когда читаю электронные книги в txt или html.
Точно так же, сохраняется положение прокрутки, если открывать закрытые табы из корзины.
Исключение: ссылки вида
habrahabr.ru/blogs/browsers/94598/#comments
Такие страницы прокручивает не в положение, в котором страница была закрыта, а на указанный в ссылке элемент.
Ну, всё же и для Оперы можно найти применение. Не всегда ведь удобно держать все страницы открытыми. Я, например, параллельно могу читать несколько текстов, некоторые — понемногу каждый день. Сначала открываю все, получается своеобразный план на день. По ходу прочтения нормы закрываю вкладки.
Само собой, не будет работать если закрыть страницу а потом снова открыть или из закладок, или набрав заново адрес.
Но если если будет работать — время от времени будут неудобства. Пример: главная страница любого новостного сайта или любого другого часто обновляемого — скорее всего перед закрытием она будет прокручена или до середины или до конца. При следующем посещении сайта, желая ознакомиться с новым контентом придётся вручную переходить в начало страницы (нажимать home или скроллить), что не есть удобно.
Но если если будет работать — время от времени будут неудобства. Пример: главная страница любого новостного сайта или любого другого часто обновляемого — скорее всего перед закрытием она будет прокручена или до середины или до конца. При следующем посещении сайта, желая ознакомиться с новым контентом придётся вручную переходить в начало страницы (нажимать home или скроллить), что не есть удобно.
чуть изменилась ширина браузера и всё поехало…
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Кроссбраузерные закладки на произвольное место страницы