0

我是javascript新手,我在dubtrack上爲chrome創建了一個有點成功的擴展我一直試圖弄清楚如何讓我的注入腳本實時運行並抓住最新的YouTube音樂視頻網址任何幫助將不勝感激我的擴展是非常基本的,它不是爲了盈利,我只是使用JavaScript和jQuery來玩。Javascript實時更新鏈接

下面是我希望實時具有功能的代碼部分。

$('#grab').click(function() { 

    function getId(url) { 
     var regExp = /^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/; 
     var match = url.match(regExp); 

     if (match && match[2].length == 11) { 
      return match[2]; 
     } else { 
      return 'error'; 
     } 
    } 

    src = $('iframe').attr('src'); 

    setInterval(function() { 
     src = $('iframe').attr('src'); 
    }, 10000); 

    window.open('http://youtubeinmp3.com/fetch/?video=http://www.youtube.com/watch?v=' + getId(src), '_blank'); 
}); 

相關鏈接 GitHub Chrome Extension

感謝您百忙之中閱讀我的問題的時間。

+0

那麼,你的問題到底是什麼?你想知道如何「實時」運行某些東西?或者你想知道如何從YouTube「實時獲取東西?」此外,請詳細說明你的意思是「實時」。 – kirkpatt

+0

dubtrack是一個網站,允許人們dj和播放youtube音樂視頻,我現在可以抓取第一個播放視頻時加載頁面,但它不會從第一個視頻更新,除非我刷新頁面。 –

+0

含義,你需要刷新dubtrack或者youtube? – kirkpatt

回答

0

你解釋是壞的(並且可能要編輯的問題,以反映你想要的),但基本的問題是這樣的:

  1. 你必須在頁面中嵌入的YouTube,特別視頻ID在src
  2. 當視頻改變時,發生這種情況時不更新src(通過使用YT嵌入式API)。
  3. 因此,如果您試圖抓取src,這不是最新的視頻,而是您加載的第一個視頻。

作爲擴展,我看到了試圖解決這個問題有兩種方法:

  1. 你可以嘗試初始化YT API自己獲得player參考。我不知道它是否會打破杜佈道的代碼。
  2. 你可以在iframe中注入腳本,以某種方式提取正在播放的視頻,而不是依賴於src

這是一個開放的問題如何解決它,而事實上,你基本上是提供「只是」一個書籤可能是一個障礙。