2015-07-20 79 views
0

有一個Chrome擴展,允許爲包含在you-tube iframe中的html5視頻設置和更改playbackRate。如何更改you-tube iframe中包含的html5視頻的playbackRate?

我想在Firefox上完成同樣的事情(或者更好的是,獨立的瀏覽器)。

我想知道如果我必須通過附加組件來做到這一點(爲了能夠做消息傳遞站點,因爲我的HTML不在你的管,但我的視頻是),或者如果有一個更簡單的方法(甚至可能跨瀏覽器)。

關於此事的任何想法都會有用。

每瑞秋羅嘉良的指教(在評論)這裏有一些事情我已經嘗試:

$(function(){ 
    // a convenient way to get at things once the page renders 
    $("button#stop-me").click(function() { 
    var mytags = document.getElementsByTagName("video"); 
    }); 
}); 

$(function(){ 
    // a convenient way to get at things once the page renders 
    $("button#stop-me").click(function() { 
    var myframe = document.getElementsByTagName("iframe"); 
    for(p in myframe) 
    { 
     var mytags = myframe.document.getElementsByTagName("video"); 
    } 
    }); 
}); 

$(function(){ 

    document.addEventListener('DOMNodeInserted', function(event) { 
    var node = event.target || null; 
    if (node && node.nodeName === 'VIDEO') { 
     nodeList.push(node); 
    } 
    }); 

    $("button#stop-me").click(function() { 
    alert(nodeList.length); 
    }); 
}); 

第一個返回一個空「mytags」。

第二個返回iframes的列表,但myframe.document調用錯誤(如預期)。

第三上從來沒有命中計數的nodeList.push(節點)線和顯示0(預期)

回答

0

如果可能的話,最好是使用YouTube的API。你不知道Youtube會顯示什麼,它可能(例如)甚至沒有HTML5視頻,它可能是其他類似Flash的東西。所以雖然有可能破解這個,但這不是最好的方法。

+0

我沒有看到這個提供在YouTube的API。我錯過了嗎? – user3731598

0

我沒有測試過這一點,但它應該工作

document.getElementsByTagName("video")[0].playbackRate = 1.2應該加快步伐,以1.2倍的速度

(同樣0.7會慢下來等)

+0

試過了。它不起作用(我認爲是因爲「視頻」標籤位於iframe中,並且瀏覽器認爲由於它們是跨域而使它們成爲禁止否定)。 – user3731598