Самый простой способ отключить ссылки на внешний веб-сайт?

Сначала позвольте мне объяснить проблему:

На определенных страницах на веб-сайте im building пользователи могут щелкнуть миниатюру видео, а модальный (бутстрап) будет отображаться с этим видео внутри, что является встраивающей ссылкой с разных сайтов, на которых размещаются видео. Однако проблема заключается в том, что если пользователь щелкает куда угодно, кроме Play/Pause или внутри видео, они попадают на веб-сайт встроенных видеороликов. Есть ли способ блокировать это?

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

Я ищу способ (возможно, с jQuery), чтобы отключить любые, все ссылки, пока отображается модальный. Или, если есть еще один более простой способ, я люблю знать. Благодарю!

1 ответ

Поскольку вы не делили фрагмент кода или структуры, мы можем давать только ограниченные предложения. Попробуйте что-то вроде этого (предполагая, что ваш bootstrap modal завернут в контейнер с id #myModal):

$('#myModal a').on('click', function(e) { e.preventDefault(); /* your own logic to handle the click if you want */ return false;
});

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

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

Сначала установите следующий обработчик событий, чтобы обнаружить, когда пользователь нажимает ссылку в видео и собирается перейти от страницы:

window.************** = function() { if (window.isPlayingVideo) { return "Are you sure you want to stop playing the video and leave the website?"; }
}

Затем, всякий раз, когда пользователь нажимает миниатюру видео, чтобы открыть модальный плеер и начать воспроизведение видео, установите следующий флаг:

window.isPlayingVideo = true;

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

licensed under cc by-sa 3.0 with attribution.