Добавить контекстное меню на свой сайт с HTML5

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

В течение многих лет «контекстное меню» находится в родных приложениях. В настоящее время контекстное меню приносит массу преимуществ для веб-приложений, например, в Файловый менеджер cPanel а также Gmail, Эти меню построены с использованием сложных сценариев JavaScript.

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

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Построение контекстного меню
HTML5 представил два новых элемента, menu и menuitem, для создания контекстного меню. Чтобы браузер воспринимал элемент меню как «контекстное меню», мы должны установить тип меню как контекст и также присвоить ему уникальный идентификатор.

Ниже приведен пример, где мы создали контекстное меню из двух пунктов.

Редактировать контент Выбор электронной почты

Также возможно добавить подменю, вложив элемент меню следующим образом:

Редактировать контент Выбор электронной почты facebook щебет

Теперь, чтобы контекстное меню отображалось на экране при выполнении щелчка правой кнопкой мыши, мы используем новый атрибут HTML с именем contextmenu. Этот атрибут используется для выбора меню с указанным идентификатором; учитывая наш пример выше, мы можем нацелить наше контекстное меню с contextmenu = context-menu-id.

Мы можем назначить атрибут в теге body, если хотим использовать контекстное меню на всей странице. Мы также можем добавить его в элемент HTML, чтобы использовать меню исключительно внутри этого элемента.

Новое контекстное меню появится в меню операционной системы, как показано ниже.

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

Мы также можем легко добавить значок в наше контекстное меню на основе HTML5, используя атрибут icon, например:

Редактировать контент Выбор электронной почты facebook щебет

Вот что мы видим в браузере.

Сделать меню работающим
На этом этапе наше новое контекстное меню еще ничего не делает, когда мы нажимаем на него. Но очень легко заставить его работать с чистым JavaScript. В нашем примере у нас есть меню «Выбор электронной почты». Это меню позволит пользователям отправлять выделенный текст с помощью приложения электронной почты.

Чтобы воплотить эту идею, добавим функцию для захвата выделенного пользователем текста.

function getSelectedText () {
var text = “”;
if (window.getSelection) {
text = window.getSelection (). toString ();
} else if (document.selection && document.selection.type! = ‘Control’) {
text = document.selection.createRange (). text;
}
вернуть текст;
};

Затем мы создаем еще одну функцию, скажем sendEmail (), которая откроет почтовое приложение. Тема электронного письма будет предварительно заполнена заголовком документа, а содержание электронного письма будет заполнено выбранным пользователем текстом.

function sendEmail () {
var bodyText = getSelectedText ();
window.location.href = “https://www.hongkiat.com/mailto:?subject=”+ document.title + ‘& body =’ + bodyText + ”;
};

Наконец, мы добавляем его в наше меню с атрибутом onclick, чтобы он работал после нажатия.

Выбор электронной почты

В прошлом мы рассмотрели, как использовать HTML5 EditableContent, который позволяет нам редактировать веб-контент непосредственно из внешнего интерфейса. Мы можем использовать эту функцию, добавив ее в наше меню под названием «Редактировать содержимое».
Примечание
Я очень взволнован с этой новой функцией. Я вижу много возможностей вещей, которые мы можем построить с помощью HTML5 Contextual Menu. К сожалению, на момент написания этой статьи только Firefox реализовал эту функцию. Я надеюсь, что другие браузеры скоро догонят.

Вы можете увидеть демо ниже (это работает только на Firefox).

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *