К сожалению, получаем http-URL, который редиректится на javascript-URL и заменяет страницу пустышкой с домена tinyurl. Если я правильно понимаю, это никак не поможет(
>> Бывают случаи, когда в браузере приходится читать большой текст в несколько приёмов. Это может быть роман, статья или техническое руководство.
«Opera» из тэгов уберите — она и без велосипедов сохраняет положение всех открытых страниц при включённом режиме «Продолжитьс места разъединения», за одним исключением:
>> Хорошо, когда документ разделён на главы и снабжён удобной навигацией
плохо, т.к. при наличии fragment identifier в ссылке сохранение положения прокрутки документа не срабатывает в Опере.
То есть, если Вы читали десять документов, каждый из них закрыли, а потом захотите вернуться к местам, до которых Вы дочитали, Opera сможет автоматически восстановить статус прокрутки для каждого документа? Простите, у меня не получилось. Описанный Вами способ работает только в том случае, если браузер закрывается при открытых документах — только они и будут восстановлены пре следующем запуске.
Храните позицию в процентах от доступной высоты. Тогда при изменении размера окна вы найдете ту же самую позицию, так как доступная высота тоже изменится.
Но это существенно усложнит и увеличит код: во-первых, у запроса доступной высоты свои проблемы с кроссбраузерностью, во-вторых это лишняя логика и пересчёты. Впрочем, для тех, кто действительно так уж часто меняет размеры окна для одного и того же документа, это, наверное, выход.
В Оперу я сообщал об ошибке этой год или два назад (еще до 10й версии), после выхода 10й, кажется напоминал, про косяк, но они не реагируют и забили болт. И не только на эту. Короче scrollHeight на ширину скролбара больше реального значения. Так что на эти 17-20 пикселов можно забить — будет небольшая погрешность.
Откройте любое количество табов, прокрутите все в нужное положение, закройте Оперу. Запустите Оперу снова — все прокрутится в нужную позицию.
Часто пользуюсь этой возможностью, когда читаю электронные книги в txt или html.
Точно так же, сохраняется положение прокрутки, если открывать закрытые табы из корзины.
Ну, всё же и для Оперы можно найти применение. Не всегда ведь удобно держать все страницы открытыми. Я, например, параллельно могу читать несколько текстов, некоторые — понемногу каждый день. Сначала открываю все, получается своеобразный план на день. По ходу прочтения нормы закрываю вкладки.
Само собой, не будет работать если закрыть страницу а потом снова открыть или из закладок, или набрав заново адрес.
Но если если будет работать — время от времени будут неудобства. Пример: главная страница любого новостного сайта или любого другого часто обновляемого — скорее всего перед закрытием она будет прокручена или до середины или до конца. При следующем посещении сайта, желая ознакомиться с новым контентом придётся вручную переходить в начало страницы (нажимать home или скроллить), что не есть удобно.
Да, конечно, это не удобно. Но я ведь и не ратую за принудительное сохранение позиций. А сохранять сессии — мне кажется, это сложнее. Впрочем, это всё дело вкуса и личных предпочтений. Наверняка найдутся те, кому удобнее то или другое.
Мне кажется, это чисто теоретический минус. Например я постоянно работаю с распахнутым на весь экран браузером. Если для каких-то временных нужд и приходится изменять окно, всё равно ведь большую часть времени работаешь в привычном режиме.
Ну, по крайней мере один и тот же документ большинство людей будут читать одинаково. Я ведь не говорю, что это идеальное решение. Но я пока другого не нашёл…
Кроссбраузерные закладки на произвольное место страницы