Как отключить контекстное меню у тега HTML5 video?

187
01 апреля 2018, 22:00

У меня реализован live стрим видео webm с использованием MediaSourceExtensions API на стороне JavaScript. Тег video создаётся без контролов, но по клику правой кнопкой мыши по области видео можно показать контролы, промотать видео, развернуть на весь экран...

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

Если это невозможно, может помимо video можно ещё как-нибудь рендерить контент MSE? Может на canvas?...

Answer 1

Первый вариант

Используем JavaScript

document.getElementById("id1").oncontextmenu = function (e) { 
    return false; 
};
<div>без меню</div> 
<div><img id="id1" src="http://www.2fons.ru/pic/201503/1280x1024/2fons.ru-84831.jpg" width="300"></div><br> 
 
<div>c меню</div> 
<div><img id="id2" src="https://s1.1zoom.ru/big0/208/421162-svetik.jpg" width="300"></div>

Данный пример сделан с изображением но для видео он тоже сработает, так как отключает контекстное меню на любом элементе.

Второй вариант

Поверх видео положить прозрачную картинку.

Третий вариант

Чистый HTML (почти)

<img oncontextmenu='return false;' src="http://www.2fons.ru/pic/201503/1280x1024/2fons.ru-84831.jpg" />

READ ALSO
Одиночное использование hide() в событие

Одиночное использование hide() в событие

Хочу по скроллу внизу зафиксировать хедер, при обратном скролле, ставить хедер на место

209
Нужно добавить класс к элементу из списка

Нужно добавить класс к элементу из списка

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

158
Не понятна работа функции фильтрации в TypeScript

Не понятна работа функции фильтрации в TypeScript

Читаю книгу Pro AngularНе понимаю в чем смысл записи в функции

157
Изменение значения value

Изменение значения value

Можно ли сделать чтобы значение value="41" менялось?)

177