Как запретить странице создавать диалоговые окна

Как отключить «запретить этой странице создавать дополнительные диалоги»?

Я разрабатываю веб-приложение, которое использует JavaScript alert() и confirm() диалоговые окна.

Как я могу остановить Chrome от показа этого флажка?

есть ли настройки я могу изменить?

Я знаю, что могу изменить исходный код, но мне бы хотелось, чтобы Chrome все еще мог автоматически обновляться.

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

у меня есть доступ администратора к (Windows) машины, которые запускают приложение.

6 ответов

вы не можете. Это функция браузера там, чтобы предотвратить сайты от показа сотен предупреждений, чтобы предотвратить вас от ухода.

вы можете, однако, заглянуть в модальные всплывающие окна, такие как jQuery UI Dialog. Это поля предупреждений javascript, которые показывают настраиваемое диалоговое окно. Они не используют значение по умолчанию alert() функция и, следовательно, обойти проблему, с которой вы столкнулись полностью.

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

это то, что я закончил делать, так как у нас есть веб-приложение, которое имеет несколько пользователей, которые не находятся под нашим контролем. (@DannyBeckett я знаю, что это не точный ответ на ваш вопрос, но людям, которые смотрят на ваш вопрос, это может помочь.) Вы можете по крайней мере обнаружить, если они не видят диалогов. Есть несколько вещей, которые вы, скорее всего, хотите изменить, как время для отображения, или то, что вы на самом деле отображения. Помните, что это только уведомит пользователя, что они удалось щелкнуть этот маленький флажок.

очевидно, я установил время в 3,5 миллисекунды. Но после некоторого тестирования мы смогли щелкнуть или закрыть диалоги примерно за 5 миллисекунд плюс.

Итак, чтобы ответить на ваш вопрос, это все вопрос времени. Если вы предупреждаете более одного раза в секунду, Chrome будет установите этот флажок. Вот простой пример обходного пути:

лучше использовать jquery-подтвердить вместо того, чтобы пытаться удалить этот флажок.

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

ваша проблема в том, что вам нужно знать, что они есть, а затем предположить, что они означают ОК, а не отменить. Заменить confirm(x) С myConfirm(x) :

Источник

Отключить «Запретить этой странице создавать дополнительные диалоги» для определенных веб-сайтов как пользователь

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

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

Хотя я понимаю, что на любом законном веб-сайте нет всплывающих окон, злоупотребляющих бизнесом, подобным образом, портал ERP, который мне нужно использовать, представил эту удивительную функцию всплывающих окон в недавнем обновлении.

Читайте также:  Как называется клумба под окном

Примечание: этот вопрос касается отключения предупреждения со стороны пользователя.

2 ответа 2

Это поведение можно контролировать, установив параметр конфигурации dom.successive_dialog_time_limit . Это целочисленное значение представляет временное окно в секундах с момента последнего всплывающего окна. Если веб-сайт генерирует новое всплывающее окно в этом окне, Firefox вместо этого вызовет диалоговое окно «Предотвратить . ».

Чтобы установить это значение:

  1. Скопируйте эту строку в буфер обмена: dom.successive_dialog_time_limit
  2. В адресной строке FireFox введите: about: config и нажмите enter.
  3. Примите диалоговое окно с предупреждением.
  4. В области настроек щелкните правой кнопкой мыши.
  5. Выберите New-> Integer
  6. Вставьте строку, которую вы скопировали предыдущую, и нажмите OK
  7. Введите целое число 0 в следующем диалоговом окне и нажмите ОК. 1
  8. Закройте страницу about: config.

1: в большинстве случаев установка этого значения на 1 или 2 секунды будет достаточной, чтобы позволить всплывающим тяжелым веб-сайтам работать без перебоев, в то же время останавливая вредоносный бесконечный всплывающий код JavaScript.

Источник

Как определить » запретить этой странице создавать дополнительные диалоговые окна»

вопрос

как я могу определить, если пользователь установил флажок «запретить этой странице создавать дополнительные диалоги»?

почему это проблема

если пользователь предотвратил появление полей подтверждения, функция confirm(‘foobar’) всегда возвращает false.

если пользователь не может видеть мои диалоговые окна подтверждения confirm(‘Are you sure?’) , тогда пользователь никогда не сможет выполнить действие.

контекст

Итак, я использую код типа if(confirm(‘are you sure?’)) < //stuff. >. Таким образом, автоответчик false из браузера будет препятствовать пользователю когда-либо делать stuff . Но, если бы был способ обнаружить, что пользователь установил флажок, я мог бы выполнить действие автоматически.

Я думаю, что если пользователь отключил диалоги, то функция должна либо выдать ошибку, либо вернуть true. Функция предназначена для подтверждения действия, которое запросил пользователь.

2 ответов

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

однако то, что вы можете сделать, это написать обертку вокруг confirm (), которая умножает время ответа. Если он слишком быстр, чтобы быть человеком, тогда приглашение, скорее всего, было подавлено, и оно вернулось бы истинным, а не ложным. Вы можете сделать его более надежным, запустив confirm () несколько раз, пока он возвращает false, поэтому вероятность того, что это пользователь über-fast, очень низкая.

обертка будет примерно такой:

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

Я думаю, что вы не можете изменить его — это функция браузера.

моей первой идеей, если вам нужно обходное решение, было бы изменить код с помощью system confirm к некоторому оповещению библиотеки js (например, от jQuery UI)

Источник

запретить создание дополнительных диалоговых окон на этой странице

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

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

4 ответа

ВОПРОС Как я могу определить, установил ли пользователь флажок запретить создание дополнительных диалоговых окон на этой странице? Почему это проблема Если пользователь предотвратил появление полей подтверждения, функция confirm(‘foobar’) всегда возвращает значение false. Если пользователь не.

Я создал простой проект, который начался с диалогового редактора, чтобы добавить элементы управления в форму. Я закрыл редактор диалоговых окон и не могу понять, как снова отобразить редактор диалоговых окон, чтобы добавить дополнительные элементы управления. Как открыть редактор диалоговых окон в.

Читайте также:  Домино своего окна ты не увидишь голливуд

Вы не можете удалить, потому что он введен браузером.

Чтобы решить вашу проблему, попробуйте использовать http://bootboxjs.com/, в этой библиотеке вы можете сделать то же самое, написав:

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

Так что вы хотите сделать это IMPOSSIBLE. Так как это функциональность браузера.

В любом случае я советую вам использовать модель-коробку.

Вы будете: — Не допусти, чтобы это случилось — Украсьте свой сайт.

Вы можете проверить это: http://www.fallr.net/ я использовал это довольно круто и легко. У вас есть пример типа подсказки, который возвращает вам что-то написанное пользователем. Вы также можете иметь функцию CALLBACK для некоторых AJAX, например.

Так что вы не можете удалить его сделать это ясно для вас, по крайней мере, на данный момент.

Не используйте систему оповещения коробки они уродливы.. действительно..

Надеюсь, это помогло!

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

Я установил версию cc.net 1.4.3 на Windows Vista. Но он продолжает давать мне обнаружение диалоговых окон интерактивных служб, когда я выполняю тесты. Я даже отключил интерактивные сервисы из панели сервисов. но все равно получаю это. Любая идея, как избавиться от этой проблемы с уважением Сэм

У нас тут две разные вещи происходят.

Я предлагаю добавить предпочтение к about:config (или user.js в вашем папка профиля).

Скопируйте имя предпочтения dom.successive_dialog_time_limit открыть about:config щелкните правой кнопкой мыши в области настроек и выберите Создать > Целое число вставьте имя предпочтения и нажмите кнопку ОК затем введите 0 и нажмите кнопку OK

для получения более подробной информации проверьте эту ссылку

Похожие вопросы:

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

У меня есть кнопка удаления, и на .mouseup он создает всплывающее окно предупреждения, которое позволяет пользователю подтвердить или отменить удаление этого объекта. Вот мой js для этого .

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

ВОПРОС Как я могу определить, установил ли пользователь флажок запретить создание дополнительных диалоговых окон на этой странице? Почему это проблема Если пользователь предотвратил появление полей.

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

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

Я установил версию cc.net 1.4.3 на Windows Vista. Но он продолжает давать мне обнаружение диалоговых окон интерактивных служб, когда я выполняю тесты. Я даже отключил интерактивные сервисы из панели.

Может ли кто-нибудь узнать, есть ли простой способ организовать несколько диалоговых окон на одной странице? напр.:

Как автоматизировать диалоговые окна, иногда диалоговые окна появляются несколько раз, если диалоговое окно появляется автоматически нажмите ok или enter. Есть ли способ автоматизации диалоговых.

Читайте также:  Как сделать заевшее пластиковое окно

Источник

chrome отменяет действие » запретить этой странице создавать дополнительные диалоговые окна»

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

7 ответов

нет. Но вы действительно должны использовать console.log() вместо alert() для отладки.

В Chrome он даже имеет то преимущество, что может печатать целые объекты (а не только toString() ).

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

поэтому правильный ответ: да, есть лучший способ.

щелкните правой кнопкой мыши вкладку и выберите «дублировать», затем закройте исходную вкладку, если хотите.

оповещение повторно включено в дубликате.

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

2 больше решений, с которыми мне повезло, когда ни tab close + reopening страницу на другой вкладке, ни закрытие всех вкладок в Chrome( и браузере), а затем перезапуск не сработал:

1) я исправил его на своей машине, закрыв вкладку, принудительно закрыв Chrome и перезапустив браузер без восстановления вкладок (Примечание: На компьютере под управлением CentOS Linux).

2) у моего босса (также на CentOS) была та же проблема (оповещения являются большой частью процесса отладки Javascript моей компании для многочисленные причины, например наследие), но мой 1st метод не работал для него. Тем не менее, мне удалось исправить его следующим образом:

a) сделать пустой текстовый файл с именем FixChrome.sh, и вставьте следующий скрипт bash:

b) закройте Chrome, затем откройте терминал и запустите скрипт (bash FixChrome.sh).

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

открыть новое окно или вкладка с той же ссылкой.. параметр PREVENT действует только для сеанса..

Если вы хотите, чтобы диалоговое окно было повторно активировано для страницы, которую вы установили как диалоговое окно запретить.

Chrome: выберите Настройки, откроется страница google для chrome со всеми настройками для chrome.

в самом низу, перейдите к advance settings и в нижней части advance settings вы можете нажать на Resset Browser Settings. это заставит диалоговое окно появиться так, как они должны.

отключение аппаратного ускорения, похоже, является настройкой, которая влияет на всплывающие окна и диалоговые окна.

Chrome постоянно скрывал диалоговые окна, когда мне нужно было ответить » Да » или » нет » на вещи, а также Когда мне нужно было переименовать папки на панели закладок. После нескольких недель работы. Я отключил все помощники Chrome в настройках, также в windows 10 я отключил окно. Он сделал что-то, чтобы вернуть всплывающие окна и диалоги в Область просмотра.

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

включение и выключение аппаратного обеспечения, убийство процесса Chrome и выключение всех других помощников и обратно исправили это для меня. Он должен быть в самом chrome, потому что я только что вошел в окно Chrome на Mac, и теперь он остановил проблема, без какого-либо вмешательства. Я предполагаю, что щелчок настроек chrome вкл/выкл / вкл заставил его переместить диалоги. Я не могу заставить браузер повторить ошибку сейчас.

Источник

Поделиться с друзьями
Adblock
detector