Javascript实时获取更新链接

时间:2016-04-28 18:52:20

标签: javascript jquery ajax google-chrome-extension javascript-injection

我是javascript的新手,我已经在dubtrack上为chrome创建了一个成功的扩展程序我一直试图弄清楚如何让我的注入脚本实时运行抓住最新的youtube音乐视频网址任何帮助将非常感谢我的扩展是非常基本的,它不是为了获利我只是用它来玩javascript和jquery。

这是我想要实时运行的代码部分。

$('#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

感谢您抽出宝贵时间阅读我的问题。

1 个答案:

答案 0 :(得分:0)

你不善于解释(并且可能想要编辑问题以反映你想要的内容),但基本上问题是:

  1. 您在页面中嵌入了YouTube,其中包含src中的特定视频ID。
  2. 当视频发生变化时,会发生这种情况而不更新src(使用YT嵌入API)。
  3. 因此,如果您尝试仅抓取src,那么它不是最新的视频,而是您加载的第一个视频。
  4. 作为扩展,我看到了两种尝试解决问题的方法:

    1. 您可以尝试自己初始化YT API 以获得player参考。我不知道它是否会破坏Dubtrack的代码。
    2. 你也可以在iframe中注入一个脚本,以某种方式提取正在播放的视频,而不是依赖src
    3. 如何解决这个问题是一个悬而未决的问题,而且你基本上只提供了#34;"书签可能是一个障碍。