2016-10-04 2 views
2

Я пытаюсь запустить встроенное видео с помощью Greasemonkey. Видео работает в iframe, и мне удалось запустить видеоролик в хроме с помощью Tampermonkey, но в Firefox видео загружается и останавливается через секунду. Я предполагаю, что мой следующий скрипт начинается слишком скоро после перезагрузки страницы, поэтому я попытался отложить начало с помощью setTimeout, но код не запустится. Итак, мой вопрос: можно ли использовать setTimeout внутри iframe?Возможно ли запустить setTimeout внутри iframe?

// ==UserScript== 
// @name  Autoplay 
// @namespace openload 
// @include  https://openload.co/embed/* 
// @version  1.0.0 
// @run-at  document-idle 
// ==/UserScript== 

window.setTimeout(play, 5000); 
function play() 
{ 
console.log("Start"); 
document.querySelector('#videooverlay').click(); 
videojs.getPlayers()['olvideo'].player_.play(); 
console.log("End"); 
} 

Я использую @include https://openload.co/embed/ *, чтобы запустить сценарий внутри фрейма в противном случае я не могу использовать команду .play(). Если я открываю iframeurl вручную и использую команды над консолью FF, он отлично работает.

+1

Вероятно, что в Firefox видео воспроизводится автоматически после нажатия кнопки #videooverlay. Попробуйте прокомментировать строку play(). – wOxxOm

+0

Я не вижу, что здесь представляет собой настоящая проблема. Вы представляете код, который использует таймаут, но заголовок вашего вопроса спрашивает, можете ли вы использовать тайм-аут ... Использует ли тайм-аут для вас? Появляются ли в консоли журналы 'console.log'? –

+0

Почему вы не используете '@include iframeurl' для выполнения кода в правильном окне? – w35l3y

ответ

0

Может быть, попробовать что-то вроде этого

window.addEventListener ("load", playerstart, false); 

function playerstart() { 

} 
+2

Объяснение, почему этот код работает и дает более подробную информацию, вероятно, будет полезен. –

0

Я думаю, вы хотели бы добавить прослушиватель событий «onload» к загрузке страницы в iframe, а в функции загрузки добавить setTimeout.

Я думаю, что большая проблема, чтобы понять, почему она не играет в Firefox. Это проблема с кодировкой? У вас есть это в источнике, который может играть FF? Miro Video Converter может помочь.

+0

Источник размещен openload.co, а плеер встроен в веб-сайт, где я пытаюсь запустить видео-авто. после загрузки URL. Если я запускаю видео вручную, он работает нормально, поэтому я не думаю, что это проблема с кодировкой. – Hopi

0

ли вы судимых запустить скрипт на родителях, так и внутри фрейма? Затем используйте setTimeout.

+0

Просьба указать ваши коды –

+0

Я думал, что я не могу взаимодействовать со сценарием внутри iframe? – Hopi

Смежные вопросы