Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.06.2014, 10:55
Интересующийся
Отправить личное сообщение для SegaMega Посмотреть профиль Найти все сообщения от SegaMega
 
Регистрация: 20.09.2012
Сообщений: 16

Баг IE: YouTube iframe, обёрнытый в ссылку
Всем добрый день.

В общем такая проблемка в IE:
вставляю на страницу YouTube-видео стандартным способом (т.е. через iframe), iframe обёрнут в другую ссылку-обёртку (например на google.ru)

После вставки плейера он отлично работает в Opera, Firefox, Chrome, но глючит в IE - если запустить ролик, то параллельно с работой плейера открывается новая вкладка с google.ru (я специально добавил в ссылке-обёртке атрибут target="_blank", чтоб увидеть "параллельность").

Если теперь вернуться на вкладку с нашим роликом, и попробовать остановить ролик, или изменить качество, звук... короче, при любом щелчке на плейере - параллельно открывается вкладка с google.ru

Даже если прописать у ссылки-обёртки onclick="return false", не помогает...

Вопрос: как убрать этот глючный переход? (Варианты обернуть iframe с роликом в DIV или удалить аттрибут href у ссылки-обёртки - не предлагать пожалуйста, интересен именно конкретный случай)


Создал для удобства пример http://jsfiddle.net/P24km/3/
Попробуйте открыть в IE и запустить ролик...

Последний раз редактировалось SegaMega, 04.06.2014 в 11:05.
Ответить с цитированием
  #2 (permalink)  
Старый 04.06.2014, 11:10
Интересующийся
Отправить личное сообщение для SegaMega Посмотреть профиль Найти все сообщения от SegaMega
 
Регистрация: 20.09.2012
Сообщений: 16

Так-так... кое-что прояняется, сейчас читаю, но ночью сегодня не видел этот топик...
http://stackoverflow.com/questions/9...h-ie-rendering
Ответить с цитированием
  #3 (permalink)  
Старый 04.06.2014, 13:17
Интересующийся
Отправить личное сообщение для SegaMega Посмотреть профиль Найти все сообщения от SegaMega
 
Регистрация: 20.09.2012
Сообщений: 16

Пока безрезультатно...
Ответить с цитированием
  #4 (permalink)  
Старый 04.06.2014, 15:19
Профессор
Отправить личное сообщение для WorM32 Посмотреть профиль Найти все сообщения от WorM32
 
Регистрация: 11.02.2014
Сообщений: 303

<a href="javascript:void(0)" ...

http://jsfiddle.net/P24km/8/
Ответить с цитированием
  #5 (permalink)  
Старый 04.06.2014, 16:24
Интересующийся
Отправить личное сообщение для SegaMega Посмотреть профиль Найти все сообщения от SegaMega
 
Регистрация: 20.09.2012
Сообщений: 16

Не пойдёть ((
Спасибо, но это равносильно удалению аттрибута href у ссылки-обёртки, а нужно чтоб переход по ссылке был доступным

Пример: на странице есть ссылки-обёртки на ролики YT, в которые динамически (JS) вставляются соответствующие iframe с плейером и роликом YT, заменяя всё внутри ссылок-обёрток. Но если вдруг (0,01%) у юзера отключен JS или по какой-то причине ролик криво вставился, или на смартфоне/планшете нужно ролик посмотреть на сайте YT - нужна прямая кликабельная ссылка...

Вот у меня случай был (есть до сих пор): на смартфоне Galaxy S III, если просматривать страницу со вставленным YT в Firefox Mobile, то нет кнопки полноэкранного режима (100% баг YT или FireFox) - вообще нет и никакой возможности смотреть ролик в полный экран в остальных браузерах на мобиле всё ок...

Так вот если есть прямая ссылка на ролик YT, переходишь по ней на сайт YT и там уже можно смотреть во весь экран (если кто сталкивался с таким глюком - могу поскидывать ссылки по теме, много покопался)...

Я вообще заметил, что и приложения для смартфонов ВКонтакте и Одноклассники, и их мобильные версии открывают в новом окне (вкладке) ролики YT на сайте поставщика видеоконтента ))

Вот пример - во-первых плагина, который я юзаю для вставки YT-роликов, а во-вторых можно проверить в Firefox mobile, что ролик проигрывается, но нет кнопки fullscreen: http://www.tikku.com/jquery-youtube-tubeplayer-plugin

Но вообще, мне просто интересно понять, почему IE так конкретно отличается (впрочем как всегда) и почему такой баг...
Ответить с цитированием
  #6 (permalink)  
Старый 04.06.2014, 17:58
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от SegaMega
Но если вдруг (0,01%) у юзера отключен JS или по какой-то причине ролик криво вставился, или на смартфоне/планшете нужно ролик посмотреть на сайте YT - нужна прямая кликабельная ссылка...
ну, можно после загрузки страницы js-ом заменять href. Тогда те, у кого отключен js будут иметь прямые ссылки.
Какая часть среди 0.01% пользуется IE?
Ответить с цитированием
  #7 (permalink)  
Старый 05.06.2014, 13:16
Интересующийся
Отправить личное сообщение для SegaMega Посмотреть профиль Найти все сообщения от SegaMega
 
Регистрация: 20.09.2012
Сообщений: 16

Хм... тоже идея ))
Спасибо, Ветеран.
Если честно, я уже решил свою проблему (ниже опишу как), однако почему IE обрабатывает любой клик по iframe, вставленный внутри ссылки, в частности ещё и как клик по этой ссылке, а вот др. браузеры - нет, я так и не въезжаю (( Тем более, что по спецификации HTML

Тег <iframe> создает плавающий фрейм, который находится внутри обычного документа, он позволяет загружать в область заданных размеров любые другие независимые документы. (http://htmlbook.ru/html/iframe)

Т.о. клик (например) по содержимому iframe никак не должен влиять на документ-родитель... Т.е. если мы возьмём такой код:
<a href="http://javascript.ru"><span>Текст в теге спан с родителем-ссылкой</span></a>

Если кликнем по спану, то логично, что будет переход и по ссылке (т.к. она родитель) - таково устройство DOM...

А вот если так:
<a href="http://javascript.ru"><iframe width="420" height="315" src="//www.youtube.com/embed/Ve5ELBEgAGM" frameborder="0" allowfullscreen></iframe></a>

то это уже вроде как отдельный независимый "документ" или точнее "объект", встроенный на основную страницу-родителя... и всякие клики по этому объекту не должны отражаться (если конечно это не ссылки или не обращение через JS к DOM родителя) на странице-родителе... Что нам отлично и демонстрируют все браузеры кроме IE, видно у него другой подход... почему и как это исправить - может кто знает теорию? Вопрос открыт...

Ладно, теперь как я решил свою проблему:
Есть на странице такой HTML-код:
<span><a href="http://youtu.be/eu9tnfEGrvU">Текст прямой ссылки ролик YT</a></span>

С помощью плагина http://www.tikku.com/jquery-youtube-tubeplayer-plugin и JS-магии вставляю с ютуба соответствующий ролик, получаю такой код (немного его упростил-уменьшил):
<span class="jquery-youtube-tubeplayer">
    <a href="http://youtu.be/eu9tnfEGrvU"></a>
     <iframe id="tubeplayer-player-container-717ee47b-94f0-4dea-af12-0181f2f43f26" frameborder="0" allowfullscreen="1" title="YouTube video player" src="https://www.youtube.com/embed/eu9tnfEGrvU"> </iframe>
</span>

в стилях для тега a и span прописываю (тоже только самое главное привожу):
Код:
span {
display: block;
position: relative;
}

span a {
position:absolute;
bottom: 0;
left: 0;
width: 100%;
height: 20%;
display: block;
z-index:100;
}
Т.е. превращаю ссылку на ролик в полупрозрачную плавающую подсказку, которая в низу перекрывает ролик на 20%. При наведении курсора и запуске ролика эта подсказка прячется )) Вот как это выглядит:
YT.jpg

На смартфоне/планшете события "неведение мышки" как такового нет, поэтому подсказка-ссылка на ролик YT будет видна до тех пор, пока ролик не запустится...

Последний раз редактировалось SegaMega, 05.06.2014 в 13:34.
Ответить с цитированием
  #8 (permalink)  
Старый 06.06.2014, 08:02
Интересующийся
Отправить личное сообщение для SegaMega Посмотреть профиль Найти все сообщения от SegaMega
 
Регистрация: 20.09.2012
Сообщений: 16

Сообщение от SegaMega
Пример: на странице есть ссылки-обёртки на ролики YT, в которые динамически (JS) вставляются соответствующие iframe с плейером и роликом YT, заменяя всё внутри ссылок-обёрток.
Кстати, вот здесь я ошибся... Плагин не заменяет всё внутри обёртки, а просто добавляет iframe с видео...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как из фрейма открыть ссылку в другом фрейме? (iframe) makc0993 Элементы интерфейса 24 01.10.2020 21:53
Получить ссылку из iframe ureech Серверные языки и технологии 7 08.04.2014 03:38
Нажать ссылку в iframe из родительского окна max124rus jQuery 1 12.03.2011 13:47
Получить ссылку на iframe PAMAC Javascript под браузер 2 23.02.2010 15:12
нажатие на ссылку в iframe Мешок Events/DOM/Window 7 02.01.2009 12:00