Как запретить диалоговое окно «Сохранить (изображение) как» при нажатии Ctrl+щелчок в Opera

Мне нужно создать галерею изображений, в которой пользователь может выбрать несколько изображений, а затем обработать их. Выбор должен быть сделан с помощью Ctrl+LeftClick мыши. Это хорошо работает в FF и IE8, но когда я Ctrl + щелчок в Opera, появляется новое диалоговое окно «Сохранить как», которое вызывает сохранение щелкнутого изображения.

Как запретить открытие диалога в Opera? (вероятно, это системная настройка) Я до сих пор не нашел решения. Вопрос в Opera остается без ответа с июня 2008 г. :(

Это вообще возможно? Ctrl+Click — это стандартный способ в ОС, вероятно, проблема в том, чтобы адаптировать поведение рабочего стола к сети.


person stej    schedule 11.06.2009    source источник
comment
Я согласен, что это должно быть возможно, и я сообщил об ошибке Opera для этой проблемы (ссылка DSK-273043).   -  person hallvors    schedule 06.12.2009


Ответы (5)


В Opera это поведение можно настроить в Tools->Preferences->Content->JavaScript Options->Allow script to detect context menu events. По умолчанию этот флажок не установлен, что означает, что большинство пользователей увидят контекстное меню браузера.

Это было добавлено для предотвращения «захвата контекстного меню»; к сожалению, это ограничивает все приложения браузера левой кнопкой мыши. У вас может быть пользователь rightclick->Edit site preferences->Scripting->Allow script to detect context menu events; это должно позволить вашему сайту использовать эту функциональность.

person Piskvor left the building    schedule 11.06.2009

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

Например, в Opera есть опция, при которой контекстное меню правой кнопки мыши не может быть отключено с помощью javascript — в качестве защиты для пользователей Opera.

person David Snabel-Caunt    schedule 11.06.2009
comment
Я читал о проблемах с контекстным меню и видел, что, возможно, есть обходные пути. Однако я не могу сказать каждому клиенту, если вы хотите использовать мой продукт, измените настройки в своем браузере. Некоторые из них могут не знать, что есть какие-то настройки. - person stej; 12.06.2009
comment
Абсолютно. Я бы посоветовал другое сопоставление клавиш или, как предлагает Сканлифф, изменить ваш пользовательский интерфейс, чтобы щелчок выбирал объект, а не навигацию. Вы можете остановить событие, чтобы предотвратить переход по ссылке. - person David Snabel-Caunt; 12.06.2009

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

Что-то вроде этого... где вы можете визуально увидеть, что было выбрано.

альтернативный текст

person scunliffe    schedule 11.06.2009
comment
К сожалению, это невозможно. После нажатия на превью (которое можно было выбрать) пользователь перенаправляется на новую страницу с полным изображением. (поэтому ‹img /› завернуто в ‹a /›). - person stej; 12.06.2009

Если вы пытаетесь запретить людям сохранять изображения, это бессмысленно. Все, что нужно сделать пользователю, чтобы обойти перехват контекстного меню, — это временно отключить JavaScript на этой странице или нажать PRINT SCREEN.

person Diodeus - James MacFarlane    schedule 11.06.2009
comment
Или просто зайдите в кеш браузера на диск и просто скопируйте изображения. Нет, мне нужна только возможность отменить/выбрать их. - person stej; 12.06.2009

Это должно работать:

<img src="myImage.png" onclick="event.preventDefault();">
person Michael    schedule 05.10.2013