Comments 47
Идеальная Opera будет с молчаливой ненавистью закрывать страницу и добавлять сайт под именем 127.0.0.1 в hosts.
+9
А нельзя просто, скажем, сохранить что поменялось в черновики, а в следующий раз — открывать как оно было?
Зачем при всех наличии всех этих гигабайтов памяти до сих пор использовать шаблон «открой-закрой программу» со стародавных времен? Тем более — в вебе?
Зачем при всех наличии всех этих гигабайтов памяти до сих пор использовать шаблон «открой-закрой программу» со стародавных времен? Тем более — в вебе?
+7
Разумеется, можно. Только для этого нужно время и деньги.
+3
Для этого вполне достаточно LocalStorage и любви к своей работе.
LocalStorage поддерживают 87.53% браузеров.
Любовь к своей работе поддерживают 19.5% разработчиков.
LocalStorage поддерживают 87.53% браузеров.
Любовь к своей работе поддерживают 19.5% разработчиков.
+4
В 73.9% случаев статистика врёт.
+12
На одной любви без денег и времени не выедешь
+1
Вы редактировали документ в вики-подобной системе и ушли со страницы. Система не знает, оставили ли вы адекватную версию (то есть надо ли перезаписать в основную ветку), поэтому скидывает в черновик в профиле (или в LocalStorage). Вы вернулись к системе через неделю (и с другого компа, LocalStorage?), документ давно изменён другими пользователями, merge выдаёт конфликты, вы паритесь, пытаясь склеить две версии документа. А ведь надо было просто задать один вопрос и получить на него вдумчивый ответ и проблемы бы удалось избежать.
+3
Если вы про этот документ вспомнили аж через неделю — значит он вам так сильно нужен был. Плохой пример юзкейса.
0
Если я был уверен, что система его сохранила, мог и вообще не вспомнить. Конечно, всегда проще обвинить пользователя в криворукости, чем признать недоработки интерфейса.
0
Человек пришёл через неделю и вы ему говорите (как в ЖЖ, например) — вы там чё-та недописали, но текст уже кто-то менял. Чё будем делать? И юзер решает чё делать. Problem solved.
+1
Код сохранения на клиенте любых данных обходится в 3 строки, какие деньги и время?
+3
Приведите пожалуйста эти универсальные 3 строки.
0
Нет, мне интересны строки кода, которые позволят сохранить любое состояние любых данных любых веб страниц.
0
Эта строка позволяет сохранить любые данные которые можно засунуть в JSON. Или Вы храните все данные фрагментированно? Раскидано как куча мала по странице? Я нет, у меня все структурировано, и я элементарно в 3 строки сохраняю состояние.
0
Нет, я про универсальность некоторых строк, которые бы позволили сериализовывать всю веб-страницу вне зависимости от того, что на ней.
Только при таких условиях каждый будет этим пользоваться. Иначе это так и останется уделом избранных.
ИМХО конечно.
Только при таких условиях каждый будет этим пользоваться. Иначе это так и останется уделом избранных.
ИМХО конечно.
0
$.jStorage.set('body', document.body.innerHTML); // Но Вы ведь понимаете всю тупость такого действия?
Не нужно сохранять всю страницу, нужно сохранять нужные данные.
У меня щас проект, в котором сохраняются (грубо говоря) 54 страницы. И прекрасно все работает. Для этих 54 страниц я сохраняю 3 набора данных (это система тестирования, я сохраняю вопросы, ответы и настройки) этого достаточно чтоб восстановить любую страницу в том виде в каком пользователь ее оставил.
Не нужно сохранять всю страницу, нужно сохранять нужные данные.
У меня щас проект, в котором сохраняются (грубо говоря) 54 страницы. И прекрасно все работает. Для этих 54 страниц я сохраняю 3 набора данных (это система тестирования, я сохраняю вопросы, ответы и настройки) этого достаточно чтоб восстановить любую страницу в том виде в каком пользователь ее оставил.
0
А если сохранение (передача данных) — в процессе?
+4
Потому что не все, что поменялось — черновик. Например, это могут быть настройки. Или рабочий процесс.
0
Лучше бы сделали так, чтобы эти все модальные окна (уйти со страницы, окно http-авторизации и прочее) не блокировали весь браузер и не всплывали внезапно, требуя срочного-пресрочного внимания к ним. Аддоны искал, на мозила.раша.ру искал, не нашёл решения. В тех же Опере и Хроме просто мигают вкладки, без фокуса на них и блокировки.
+7
Скажем, если вы реализуете интерфейс для работы со многими документами в одном окне, и какой-то из них не сохранён, можно было бы сказать, какой конкретно, но в Firefox вы этого не поймёте.
Но ведь можно по этому событию начать мигать несохранённым документом.
Это даже лучше, чем длинный поясняющий текст.
+3
Мало ли что там мигает, у меня скролл может быть подтянут в самый низ, а то что будет мигать останется вне поля зрения.
-2
Мысль хорошая, но внимание пользователя всё же будет приковано к модальному окошку, чем к странице. Но надо её обмозговать. Может, стоит рисовать полоску вверху страницы наподобие той, какую браузер выдаёт при блокировке попапа…
+1
Вообще, кто бы что ни говорил, я поддерживаю мозиллу, и в частности оперу. Я не люблю когда мне запрещают что-то сделать. Если я не хочу оставаться на этой страничке то я ее закрываю/перехожу на другую. Честно, с компом уже знаком почти 15 лет, и ни разу не пожалел что меня не предупредили там что-то доделать, а раз не жалею, значит мне оно не нужно было.
Это как старый винт с хламом, пока туда не лезешь он тебе и нафик не нужен, можно смело удалять все, и не вспомнишь даже, но не дай бог туда залезть, сразу то нужно и то нужно и то нужно. И сразу не понимаешь как без этого жил.
Это как старый винт с хламом, пока туда не лезешь он тебе и нафик не нужен, можно смело удалять все, и не вспомнишь даже, но не дай бог туда залезть, сразу то нужно и то нужно и то нужно. И сразу не понимаешь как без этого жил.
-2
К этому добавить localStorage и problem solved. Не понимаю паники «веб-девелоперов»… Не умеете готовить — занимайтесь бальными танцами.
0
Банальная паника хомячков: «О боже! Они это убрали!!! Я обязательно должен быть против, не важно что это такое».
Как Вы и сказали:
Сейчас делаю проект, который хранит все данные на клиенте, и хоть ты куда уходи, никуда то что ты ввел не денется, и сделано специально чтоб разгрузить сервер, и даже если сессия потеряется (человек может чехлить долго) среди данных хранится хеш чтоб знать кто это вообще такой. Причем за пользование этой системой берут деньги, и данные могли потеряться при закрытии в другом случае, но я как-то даже в мыслях не имел делать это таким костылем как «boforeunload». Так что по прежнему считаю это ненужной сранью =)
Как Вы и сказали:
Сейчас делаю проект, который хранит все данные на клиенте, и хоть ты куда уходи, никуда то что ты ввел не денется, и сделано специально чтоб разгрузить сервер, и даже если сессия потеряется (человек может чехлить долго) среди данных хранится хеш чтоб знать кто это вообще такой. Причем за пользование этой системой берут деньги, и данные могли потеряться при закрытии в другом случае, но я как-то даже в мыслях не имел делать это таким костылем как «boforeunload». Так что по прежнему считаю это ненужной сранью =)
+3
Вот-вот! Технологии уже не первый год и даже в IE работает. И костылики для старичков есть обкатанные. А всё паника… Эх…
0
Расскажите плз о костылях?
0
Например, www.jstorage.info/
0
Вы спросите, почему я не упомянул Оперу? А в ней вообще никакого окошка не выдаётся. Страница молча закрывается.
Страница молча закрывается потому, что мы выбрали не поддерживать событие
onbeforeunload
, а не менять интерфейс каждую мажорную версию, путая пользователей. И если Firefox спустя много лет пришёл к Won't Fix, то мы решили это давно. Багу про это событие в нашем трекере исполняется в этом году 11 лет.+3
И я бы рекомендовал автору не путать читателей последней фразой про «молча закрывает», правильнее будет написать «осознанно не поддерживает событие».
+3
Я поддерживаю вас в таком решении. Но может быть, всё-таки стоит дать возможность приложению по событию сохранить данные в localStorage, без показа каких-либо окон?
0
Ну я вроде не соврал. Действительно ведь молча закрывает. Дописать «осознанно молча закрывает»? Вроде и так понятно, что с точки зрения Оперы это фича, а не баг.
0
С переходом на Webkit или Blink Опера будет поддерживать событие «onbeforeunload»?
0
Вот сегодня в очередной раз понял, что хочу запретить js обрабатывать это событие, потому что единственное, где оно постоянно встречается — это в рекламных лендингах. Запарило невероятно. Может кто-то знает, как в хроме его запретить напрочь? Не на оперу же из-за этого переходить :(
0
Можно попробовать этот юзерскрипт. Но не уверен, что на хроме сработает.
greasyfork.org/ru/scripts/4279-disable-page-close-confirmation
greasyfork.org/ru/scripts/4279-disable-page-close-confirmation
0
Sign up to leave a comment.
Как и почему работает onbeforeunload