Почему скрипт работает только в Firefox и в Edge?

161
27 июля 2018, 15:40

Потребовалась кнопка которая бы включала/выключала звук видео с Youtube.

Конкретнее, есть сайт - http://kleverstroy.ru на нем стоит фон видео в iframe с Youtube. По умолчанию всё в видео отключено, соответственно и звук. Иначе, если звук стоит, автоматически видео не воспроизводится при открытии сайта. И вот товарищ попросил добавить кнопку чтобы можно было включать выключать звук.

Перелопатил весь интернет, решения на иностранном мне трудно давались и не смог ничего сделать, в скриптах не понимаю. Нашел сайт альтернативный - http://www.domakrasnodar.ru/ у него в салйдере видео с того же Youtube и есть такая кнопка, которая включает/выключает звук. Решил взять за образец.

Поставил на свой, но вот блин у меня работает только в Firefox и в MS Edge, в Opera, Chrome, Yandex.Browser не работает, кнопка тупо не нажимается. Хотя на сайте откуда взял работает во всех браузерах!!! Не пойму в чём прикол, что я упустил.

Прицепил вот такой вот script:

$(document).ready(function(){
var iframe = $('#vid1');
var button = $('#mute-toggle');
var flag = 0;
$(button).on('click', function() {
if (flag == 0){
// unmute
flag = 1;
$(iframe)[0].contentWindow.postMessage('{ "event": "command", "func": 
"unMute", "method":"setVolume", "value":0}',"*");
$(this).find('.yotube-volume-button').removeClass('fa-volume- 
off').addClass('fa-volume-up');
}
else {
// mute
flag = 0;
$(iframe)[0].contentWindow.postMessage('{ "event": "command", "func": 
"mute", "method":"setVolume", "value":0}',"*");
$(this).find('.yotube-volume-button').removeClass('fa-volume- 
up').addClass('fa-volume-off');
}
});
});

#vid1 - вставил в iframe видео #mute-toggle - вставил в кнопку

Думаю очень полезная тема - Кнопка включить/выключить звук в видео-фоне (с Youtube) на сайте.

Может есть другие варианты, буду признателен. Но пока нормального простого решения по-русски так и не нашёл. Оно вроде и есть, но я, видимо, не смог нормально воспроизвести его.

Answer 1

Переработал походу ))
Подключил библиотеку jQuery с google и всё заработало! Добавил перед </head> строчку: <script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>

Ответьте для понимания, как работало без библиотеки в FF и Edge?

READ ALSO
сравнение строк &ldquo;2&rdquo; &gt; &ldquo;15&rdquo; = true

сравнение строк “2” > “15” = true

Прочитал мануал по поводу строк: Посимвольное сравнение

181
Async snotify axios in vuejs project

Async snotify axios in vuejs project

Пытаюсь разобраться с axios, обёрнутым в snotify в своём проекте на VueJSНашёл пример того, как можно поместить одно в другое, но возникает проблема...

176
Функция (Проверка на пустоту)

Функция (Проверка на пустоту)

Начинающий в js прошу сильно не пинать) функция по клику создает заголовок h4, так же вместе с заголовком создается ссылка с кнопкой удаления...

192
Как считать время в input с datetimepicker

Как считать время в input с datetimepicker

Имеется input с подключенным bootstrap datetimepickerТакже задается defaultDate в котором дата задается с помощью moment

168