Я не могу сказать вам, что изменилось, но добавление e.preventDefault
исправляет это:
$( "#videoplayer" ).click(function(e) {
e.preventDefault(); // <=====================
vid.pause();
});
В общем, если вы «обработали» что-то, вы хотите предотвратить действие по умолчанию.
Я предполагаю, что в Chrome реализовано действие по умолчанию для переключения паузы / воспроизведения при нажатии на видео. Таким образом, ваш код приостанавливается, затем Chrome переключает его на воспроизведение.
В таком случае, возможно, стоит разрешить дефолт, а не делать явную паузу, возможно, введя тайм-аут:
$( "#videoplayer" ).click(function(e) {
if (!vid.paused) { // Check that video is playing when clicked
setTimeout(() => { // V. brief timer to allow default action to occur
if (!vid.paused) { // Is it still playing?
vid.pause(); // Pause it
}
}, 0);
}
});