Я пытаюсь запустить встроенное видео с помощью 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, он отлично работает.
Вероятно, что в Firefox видео воспроизводится автоматически после нажатия кнопки #videooverlay. Попробуйте прокомментировать строку play(). – wOxxOm
Я не вижу, что здесь представляет собой настоящая проблема. Вы представляете код, который использует таймаут, но заголовок вашего вопроса спрашивает, можете ли вы использовать тайм-аут ... Использует ли тайм-аут для вас? Появляются ли в консоли журналы 'console.log'? –
Почему вы не используете '@include iframeurl' для выполнения кода в правильном окне? – w35l3y