Исчезающий блок с видео
Добрый день!
Сайт reka63.ru Не корректно работает скрипт. Написан он для того, чтобы видеоподложка и кнопка звука на сайте отображались только на экранах больших размерах. Все работало исправно, пока не добавил анализ браузеров($ brouser). В данный момент функция «video_on_off» привязанная к событию .resize срабатывает только на "схлопывание" . Т.е при уменьшении размера окна видео с кнопкой исчезает, а при увеличении окна обратно не появляется. В чем ошибка ? $( document ).ready(function(){ video_on_off(); }); $( window ).resize(function(){ video_on_off(); }); function video_on_off(){ if(document.body.clientWidth<=784){ $('video').attr('src',''); $('video').css('display','none'); mute_hide(); } else{ if (browser=="opera"){ $('video').attr('src','/video/mid.ogv'); $('video').css('display','block'); mute_show(); } else{ $('video').attr('src','/video/mid.mp4'); $('video').css('display','block'); mute_show(); } } } |
не узнает переменную browser
|
Если писать выражение в виде: ($.brouser.opera), то скрипт работает и на схлопывание и на расхлоп, НО теперь скрипт перестает работать в Опере- не подгружает видеофайл с нужным расширением. Замкнутый круг. Как быть ?
|
e.s.ya,
версия Цитата:
|
Рони, уровень моих знаний в jQuery крайне низок, если можно сказать , он вообще никакой. По этим причинам Ваш вопрос ставит меня в тупик.) Есть важная задача, которую в силу обстоятельств пытаюсь решить самостоятельно, с книжкой и поисковиком. Если вы знаете решение и готовы помочь , пожалуйста, помогите.
|
e.s.ya,
у вас опечатка и неиспользуйте новые версии jQuery в них функция определения браузера удалена $.browser.opera неподдерживается и лучше проверять не браузер а то что поддерживается этим браузером |
Опечатка, да) Спасибо, я попробую подключить более старую версию. Знаю, анализ браузера использовать не правильно и делать это не рекомендуют. Но к сожалению не знаю как реализовать это через .support. Возможно с опытом дойдет ) Рони, а может вот про это что-нить знаете ? http://javascript.ru/forum/showthrea...489#post283489
Спасибо за помощь! |
e.s.ya,
у вас и так старая версия jQuery JavaScript Library v1.6.2 |
В таком случае решения вопроса по прежнему нет, к сожалению. В смысле опечатка "broUser" была только в конкретном посте, в коде писал правильно
|
Вы писали про опечатку, а ее я допустил только в конкретном посте, в коде прописал название функции правильно, через "W".
|
e.s.ya,
ни на вашем сайте ни здесь я не вижу ни одной попытки написать правильный код |
$( document ).ready(function(){ video_on_off(); }); $( window ).resize(function(){ video_on_off(); }); function video_on_off(){ if(document.body.clientWidth<=784){ $('video').attr('src',''); $('video').css('display','none'); mute_hide(); } else{ if ($.browser.opera){ $('video').attr('src','/video/mid.ogv'); $('video').css('display','block'); mute_show(); } else{ $('video').attr('src','/video/mid.mp4'); $('video').css('display','block'); mute_show(); } } } |
e.s.ya,
ок сейчас верно -- должно работать |
Не работает, в том то и дело. Тестирую на Опере 18.0.1284.49
|
e.s.ya,
Версия: 12.16 определяется нормально <!DOCTYPE HTML> <html> <head> <title>Untitled</title> </head> <body> <script src="http://reka63.ru/js/jquery.min.js"></script> <script> alert($.browser.opera); </script> </body> </html> запустите код в новой опере -- если не true -- ищите иное определение для оперы |
e.s.ya,
http://htmlbook.ru/html5/detect |
Ошибку выдает. Вот скрин http://yadi.sk/d/zOy95IjaDf4t5
|
e.s.ya,
обновите страницу и запустите ещё раз |
e.s.ya,
Видео форматы |
Спасибо, думаю я понял как решить
|
Рони, получился вот такой код. Скачал и подключил библиотеку Modernizr. Работает и в хроме и в опере. Но блок по прежнему не "схлопывается". Можете предположить причину ?
$( document ).ready(function(){ video_on_off(); }); $( window ).resize(function(){ video_on_off(); }); function video_on_off(){ if(document.body.clientWidth<=784){ $('video').attr('src',''); $('video').css('display','none'); mute_hide(); } else{ if (Modernizr.video) { if (Modernizr.video.h264) { } else if (Modernizr.video.ogg){ } $('video').css('display','block'); mute_show() } } } |
e.s.ya,
function video_on_off() { if (document.body.clientWidth <= 784) { $('video').attr('src', ''); $('video').css('display', 'none'); mute_hide(); } else { if (Modernizr.video) { if (Modernizr.video.h264) { $('video').attr('src', '/video/mid.mp4'); } else if (Modernizr.video.ogg) { $('video').attr('src', '/video/mid.ogv'); }; $('video').css('display', 'block'); mute_show() } } } |
Рони, все работает! Убеждаюсь, что мир не без добрых людей. Спасибо!
|
Часовой пояс GMT +3, время: 22:15. |