我想用Greasemonkey啓動一個嵌入的videojs視頻。視頻在iframe中運行,我設法用Tampermonkey啓動視頻,但在Firefox中,視頻開始加載並在稍後停止。我想我的下面的腳本在重新加載頁面後開始太快,所以我試圖用setTimeout延遲啓動,但代碼不會啓動。所以我的問題是可以在iframe中使用setTimeout嗎?是否可以在iframe中運行setTimeout?
// ==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/ *運行的iframe裏面的腳本,否則我不能用命令.play()。 如果我手動打開iframeurl並在FF控制檯上使用這些命令,它可以很好地工作。
很可能在Firefox中,點擊#videooverlay後自動播放視頻。嘗試註釋play()行。 – wOxxOm
我看不到實際問題在這裏。你提出使用超時的代碼,但你的問題的標題詢問你是否可以使用超時...超時是否適合你? console.log'日誌是否出現在控制檯中? –
爲什麼不使用'@include iframeurl'在正確的窗口中執行代碼? – w35l3y