Как ограничить комбинацию Ctrl N в окне браузера? - PullRequest
0 голосов
/ 08 июля 2010

Насколько я знаю, мы можем отключить ctrl + N ключ для нового окна со следующим кодом Javascript:

document.onkeydown = function() { 
    alert(event.keyCode) 
    if ((event.keyCode == 78) && (event.ctrlKey)) { 
        alert ("No new window") 
        event.cancelBubble = true; 
        event.returnValue = false; 
        event.keyCode = false; return false; 
    } 
}

В моем случае есть 3 кадра с одним фиксированным (строка меню, где я могу поместить этот код), но это событие не перехватывается, если фокус находится в каком-то другом кадре. Как я могу реализовать это ограничение глобально в окне браузера?

Ответы [ 4 ]

2 голосов
/ 18 октября 2012

Поместите свой код в общий файл .js (javascript) и свяжите этот .js со всеми страницами. Это поможет в случае, если вы хотите удалить функциональность или добавить любую централизованную функциональность.

2 голосов
/ 08 июля 2010

вам нужно будет включить скрипт для каждого документа (фрейма). если все кадры извлекаются из одного и того же домена, вы сможете сделать это из одной точки входа, используя коллекцию window.frames и продвигаясь к объекту документа для каждого кадра.

также ваш скрипт работает только в IE.

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

1 голос
/ 08 июля 2010

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

0 голосов
/ 08 июля 2010

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

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

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

Что произойдет, если у пользователя отключен JavaScript? Или если у них есть собственный набор правил, который запрещает веб-сайтам изменять поведение своего браузера?

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

Эти (среди многих других) вещей должны быть рассмотрены до запуска сайта. Надеюсь, это поможет вам в работе над вашим проектом.

...