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

Дело в том что там диалог в цикле и нажать ничего нельзя кроме кнопок на нем самом. Например:

http://forum.mozilla-russia.org/uploaded/pron.jpg

Если же прибить через менеджер задач, то при следующем запуске ФФ эта страница открывается ВНОВЬ АВТОМАТИЧЕСКИ!!! Естественно ВНОВЬ ее невозможно закрыть, что, конечно, доставляет. При этом в опциях включено: При запуске начинать с домашней страницы (не знаю как по-русски)

Вопрос: что делать? Не надо отвечать в стиле: скачай базу плохих сайтов и проверяй весь интернет. Домены элементарно плодятся как кролики. Это не выход. Я просто хочу узнать - неужели такая простая вещь как контроль z-order'а выскакивающего окна НЕРЕШАЕМАЯ задача для светочей Мозиллы Фаундейшн???

kostyanet пишет

Я просто хочу узнать - неужели такая простая вещь как контроль z-order'а выскакивающего окна НЕРЕШАЕМАЯ задача для светочей Мозиллы Фаундейшн???

Пока нерешаемая. То есть может быть сложного ничего и нет, просто никто этим не занимается. :(

Есть расширение-костыль AlertCheck, которое имитирует поведение Оперы (галочка «Не показывать следующие окна» на диалоговых окошках).
Есть старый добрый NoScript — неудобно, зато 100% надёжно.

kostyanet
Ну а что б оживить фокс после этого подарочка зайди в свой профиль фоксовский и грохни sessionstore.js.

26-02-2010 12:23:45
Да, кстати, обрати внимание на мою подпись. ж)

А мне вот нравится дополнение RightToClick, которое умеет помимо блокирования модальных окон ещё и разрешать выделение там, где оно запрещено + некоторые другие вкусности.

iDev.Pi
А это весьма интересная штука! Попробую пощупать.

Lain_13

Lain_13 пишет

А это весьма интересная штука! Попробую пощупать.

отпишись о результатах

Насчёт RightToClick. Такое впечатление, что после блокирования бесконечных окон оно не убивает сам скрипт. Из-за этого Firefox подвисает, периодически выдавая своё стандартное сообщение о «завершении работы скрипта». Проверял на bchill.narod.ru и парочке порносайтов.

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

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

Sid
На мой багрепорт, автор дополнения ответил, что это вовсе не баг, а вот дополнение AlertCheck - баговое.
Принцип работы у этих двух дополнений существенно отличается: RightToClick убивает только сам алерт, а скрипт продолжает работать, после чего сам Firefox определяет его как самозацикленный и предлагает остановить скрипт.
AlertCheck же просто сразу убивает весь этот скрипт, не разбираясь полезный ли он или нет.
Автор RightToClick религиозно считает это недопустимым и менять ничего не собирается.

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

iDev.Pi
О как интересно!
Спасибо за расследование. Это даже хорошо, что есть два разных подхода — значит, есть выбор. :)

iDev.Pi
могу подкинуть адресок где AlertCheck   не помогает а вот RightToClick  успешно справляется хотя скрипт там простенький.

ну кидай сюда, здесь это не оффтопик да и ссылку на др. сайт тоже уже постили

вот страничка про которую говорил okkamas_knife http://nonumbers.narod.ru/vosst.htm
и с алертами с этой страницы отлично справляется и AlertCheck, так что я всё же оставлю его, а не RightToClick для этих действий.

есть скрипт для greasemonkey -- nice alert
делает окно немодальным

seleko пишет

есть скрипт для greasemonkey -- nice alert

К сожалению, не работает с окнами, которые вызываются функциями prompt() и confirm().

появилось продолжение истории про RightToClick и AlertCheck
Автор RightToClick-а сказал, что AlertCheck-у просто повезло с типом скрипта конкретно в тех двух случаях (ссылки на эти тестовые странички уже публиковались здесь); также он заявил что может привести множество примеров, где AlertCheck сначала вызовет короткий freeze (как и RightToClick) и тоже выдаст в конце сообщение, что скрипт не отвечает.
Такие примеры -

скрытый текст
Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.
.
Более того, он заявил, что в отличие от работы RightToClick, который не убивает скрипт, AlertCheck целиком убивает скрипт, а не просто убирает модальные окна из цикла, а от жизни скрипта, в свою очередь, может ещё зависеть и показ контента на странице, и
скрытый текст
Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.
собственно доказательство: AlertCheck на этой странице после убийства алерта показывает пустоту, т.е. не показывает ничего, в то время, как RightToClick показывает содержимое страницы.
Так же автор напомнил, что фриз, вызывается вовсе не дополнением, а встроенной фоксовой функцией, которая сама, довольно грамотно, по мнению автора, срабатывает и не надо ей мешать или пытаться иммитировать её работу. А длительность фриза можно подкрутить в about:config - параметр dom.max_script_run_time.

iDev.Pi
тото мне RightToClick сразу понравился а алертчек нет.;)
спасибо за подробную инфу!

iDev.Pi
Передай автору пусть он паузу вместо алёрта вставляет, а не просто алёрт вырезает. А то одна из его тестовых страничек мне фокс повесила.

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

okkamas_knife
У меня он минут 5 висел занимая на 100% одно ядро процессора, а потом я его убил.

Lain_13
странно.. может это особенность линукса?

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

Так вот, во-первых скрипты это не хтмл и точка. Поэтому приоритет скрипта не может оказаться выше приоритета хтмл-парсера. Иначе разработчикам надо срочно менять голову. Технически это означает что скрипт всегда выполняется в режиме отладки, из модуля дебуггера. Из-за чего могут возникать всякие сообщения об ошибках мешающие пользоваться. Тогда вводим опцию: подавить сообщения об ошибках скрипта. Вот и все. Можно будет закрыть по Alt+F4 окно браузера с любой ошибкой и с любым модальным диалогом.

Второе. Абсолютно верное решение инициировать всплывающее окно прижатием какой-нибудь кнопки. Хочет пользователь получить попап - прижимает Ctrl и щелкает. Нет опции - нет попапа. Это давно и надежно сделано в ИЕ. В ФФ Ctrl зарезервирован за открытием ссылки в новой вкладке. Но вкладки это маразм. Именно так. Метафора рабочего стола утеряна и в том числе благодаря любимому маркетингу.

В нормальной логике каждый документ открывается в отдельном окне занимающем лишь часть экрана. Тогда вы видите все документы разом и можете использовать информацию из одного - в другом. Например пишите обзор и попросту поглядываете что написано тут, что тут, что там пишут, сравниваете и компилируете в своем документе.  Распахнув один документ на весь экран вы лишаетесь рабочего стола и будете вынуждены переключаться между ЭКРАНАМИ. Такая организация не способствует творческой работе с документами. Сравнивать придется по памяти. Впрочем, для досужего веб-серфинга все эти заморочки по барабану.

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

Таким образом Ctrl приносится в жертву тем, кто в инете не работает, а развлекается. Собственно им выскакивающая порнуха и не мешает - дополнительное развлечение.

Третье. Такого удалено в забугорье не наблюдается. Я посещаю за день сотни веб-сайтов большинство из которых англоязычные. и НИ РАЗУ я не поймал там выскакивающего окна по событию mouseover!!! Не говоря о странице которую невозможно закрыть!!! Отвечаю за свои слова! Конечно, если специально поискать найти можно. Но за годы активного серфинга не припомню случая чтобы меня огорчил какой-нить самый вонючий зарубежный сайт так же, как огорчает каждый третий релевантной тематики из домена RU.

То есть жаловаться на Мозиллу нет особого смысла. Попапы традиционной ориентации они прибивают успешно, а что до ахтунгов то у них такое попросту не распространено. Если не сказать что не существует практически.

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

Следовательно это вопрос национальный. И было бы очень хорошо найти программиста, который бы написал аддон прибивающий ДО загрузки окно которое после выскакивания изменяет свой Z-order.

Кто-нибудь технически грамотный, ответьте: неужели нельзя отследить это behaviour? Открывается окно, родитель меняет его z-order. Упс - этого делать нельзя, закрыть окно. Вот и все.

Или это невозможно?....

01-03-2010 06:39:47
Насчет эмоций и логики.

Обратимся к ней еще раз. В каждом браузере есть своя зловонная кучка. Так почему бы не предпринять усилия, чтобы именно ФФ стал браузером без своей родной кучки?

То есть вопли: не нравится ФФ - иди юзай Ишака своего - это пагубная для продукта верность. Лживая и лицемерная. Заметать кучки под ковер можно, но когда-то и там место кончится.

Почему бы именно Фаерфоксу не стать тем браузером, который будет без кучки и даже без ложки? Неужели это не совпадает с чаяниями адептов, отодвинуть ненавистный микрософтовский продукт в маргиналы?

Словом. Разработчики отталкиваются от своих условий. Но в домене RU условия иные. Я бы его и не посещал никогда, если бы не служебная необходимость. Впрочем, на жизнь имеет и такая точка зрения: в гробу мы видели особенности домена RU. Разбирайтесь со своими порнушниками сами... :)

01-03-2010 06:46:46

Lain_13 пишет

Ну а что б оживить фокс после этого подарочка зайди в свой профиль фоксовский и грохни sessionstore.js.

А если его свойства выставить в read only? :)

01-03-2010 06:50:47
Ха-ха, сработало! Спасибо. И мне тоже.

Короче загружаете хомяка, находите этот файлик, ставите его read only. Enjoy. Теперь после аварийного закрытия окна новая сессия начнется с хомяка!

kostyanet, что за эмоциональные нападки на ctrl, который в его теперешней роли исключительно полезен? А вообще тут же предоставили пару костылей для убирания ненужностей.. И если так близко сердцу это, то багзила всегда открыта, если есть патч какой

Вы только посмотрите. Какой толстый вброс! :lol:
Ты б это в обсуждение браузеров закинул бы. А то ведь все пропустят.

> Короче загружаете хомяка, находите этот файлик, ставите его read only. Enjoy. Теперь после аварийного закрытия окна новая сессия начнется с хомяка!
Как обычно решение проблем ректальным путём...
Заходишь в настройки и вверху первой страницы настроек ставишь открывать при запуске домашнюю страницу или пустую страницу вместо сохранённых вкладок.
Заходишь в about:config и ставишь browser.sessionstore.resume_from_crash = false.
Всё.

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

> Технически это означает что скрипт всегда выполняется в режиме отладки, из модуля дебуггера. Из-за чего могут возникать всякие сообщения об ошибках мешающие пользоваться. Тогда вводим опцию: подавить сообщения об ошибках скрипта. Вот и все. Можно будет закрыть по Alt+F4 окно браузера с любой ошибкой и с любым модальным диалогом.
То, что алёрты давно и надёжно используются через анус всем и так известно, вот только решением является не опция "подавления" алёртов, а перевод алёртов в не модальный режим и приостановка работы вызвавшего алёрт скрипта. Так же перевод в не модальный режим диалога запроса логина/пароля. Вот это решение. А с текущей моделью модальных сообщений Alt+F4 и подобное до основного окна просто не добирается.

> Абсолютно верное решение инициировать всплывающее окно прижатием какой-нибудь кнопки. Хочет пользователь получить попап - прижимает Ctrl и щелкает. Нет опции - нет попапа. Это давно и надежно сделано в ИЕ.
Да ладно, алёрты в ИЕ выскакивают не зависимо от того зажимал пользователь Ctrl или нет. Они там, как и в фоксе, вообще без спросу выскакивают. Или мне дать тебе ссылку на один сайт в домене зой.орг, что б ты поверил? Только потом же комп от гомонигров (в лучшем случае) не отчистишь.

> В ФФ Ctrl зарезервирован за открытием ссылки в новой вкладке. Но вкладки это маразм. Именно так. Метафора рабочего стола утеряна и в том числе благодаря любимому маркетингу.
Метафора рабочего стола в винде никогда не существовала, а десятки окон ИЕ перемешивались в одну большую кучу с вёрдом, ехелем, аськой, проводником и прочими отбросами. Вкладки решили эту проблему в корне. Хорошо хоть в DC++ вкладки всегда жили в окне приложения, а то б и они в этой куче плавали. Если конкретно тебе не нравятся вкладки - выключи их, но за других решать даже не пытайся. Вкладки решают проблему группировки однотипных окон.

> [много про загубленную судьбу Ctrl и модель "рабочего стола"]
Вперёд жевать вот это расширение или Linux + что-то вроде Awesome.

> НИ РАЗУ я не поймал там выскакивающего окна по событию mouseover!!! Не говоря о странице которую невозможно закрыть!!!
Тебе таки дать забугорный сайт в домене зой.орг, которым в своё время много спамили в МСН, аське и прочем-прочем? Если ты не поймал, то ещё не значит, что ни кто не поймал. Там оно не просто на mouseover, а тупо в цикле. А на mouseover - перескакивание окна браузера из под мышки в другой угол экрана, это что б ты его мышкой точно не закрыл. А автоматные очереди алёртов - что б не закрыл по Alt+F4. Если откроешь в ИЕ, то точно хана винде.
А в "этой стране" принято лепить килотонны рекламы на сайты без всякого уважения к пользователю и не обращая внимания на то, через какое место она сделана. Иногда и вот так, с алёртами, что б мало не показалось. Одним только закрытием окон меняющих свой z-order тот не обойдёшься. Тем более КАК ты собираешься отслеживать такое поведение до его открытия? О_о

Ну а что б оживить фокс после этого подарочка зайди в свой профиль фоксовский и грохни sessionstore.js.

Это был не мой совет - подавить ламерское восстановление сессий через удаление ява-скрипта. Но сработало изменение свойства файла, и, мне-то все равно по барабану что там открывается после краха: у меня нет хомяка. Фраерфокс открывается с пустым экраном.

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

То есть есть светлый и прямой как стрела путь - распознавание человека как источника команды программы путем простейшего определения его действий через прижатие спец-клавиши. Которую отобрали у грамотных людей и отдали ламерью на открытие вкладок. И теперь все вместе - и грамотные и невежды кладут неимоверные усилия на борьбу с выскакивающими удалено.

Как это называется в быту? Не мешайте страдать. Сели на яйца и страдаем. Можно сойти и прекратить страдания. Но, это же слишком просто. Жизнь потеряет всякий смысл.

Другого слова просто нет: идиоты. Есть кнопочка Контроль  - контролируй поведение ссылок сколько хочешь. Нет, удалено, надо ее убрать, и начать патетически страдать от отсутствия контроля выдумывая несусветные методы для борьбы со своей тупизной.

Кстати, я зашел сюда чтобы сказать: нашел я настройки сессий в мозилле.

Может быть там и вернуть кнопочку Контроль на контроль ссылок можно?

Замечание п. 3.3
Sergeys