Chrome Popup Blocker Breaks Link_to уничтожить - PullRequest
0 голосов
/ 27 января 2012

Сегодня я заметил, что удаление не будет работать в Chrome, когда этот блокировщик всплывающих окон включен.https://chrome.google.com/webstore/detail/nmpeeekfhbmikbdhlpjbfmnpgcbeggic

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

<td><%= link_to 'Delete', group, confirm: 'Are you sure?', method: :delete %></td>

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

Есть ли способ обойти блокировку всплывающих окон или хотя бы предупредить пользователя, что их блокировщик всплывающих окон не позволяет удалить объект?

Спасибо

1 Ответ

2 голосов
/ 27 января 2012

Это не связано с Rails: упомянутое вами расширение изменяет поведение Chrome по умолчанию. Если вы хотите, чтобы ваше приложение было защищено от конкретных расширений, вы должны реализовать свой собственный механизм подтверждения, используя jQuery UJS.

Проблема заключается в том, что на текущем мастере UJS метод подтверждения возвращается синхронно (поэтому он не будет ждать взаимодействия с пользователем, если не используется со встроенным всплывающим подтверждением ). Для этого выпуска есть запрос на получение ответа здесь . Код UJS Rails можно найти здесь .

Другой вариант - удалить опцию подтверждения и использовать jQuery для реализации процесса подтверждения с нуля.

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