使用jQuery获取Facebook视频ID

时间:2016-05-11 16:04:17

标签: javascript jquery facebook youtube

我制作了一个脚本,可以获取YouTube和Vimeo的ID,但是如何从Facebook嵌入网址获取ID会有点困难。

示例嵌入:

<iframe src="https://www.facebook.com/plugins/video.php?href=https%3A%2F%2Fwww.facebook.com%2FHammers.Serbia.Official%2Fvideos%2F1261009690594307%2F&show_text=0&width=560" width="560" height="315" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true" allowFullScreen="true"></iframe>

我需要获取ID,在这种情况下是:1261009690594307

我目前如何使用YouTube,但我是JS的新手,所以不确定如何复制,但获取此ID的ID

$.each($('iframe[src*="youtube.com"]'), function() {
    var player = $('<div class="video-player">');
    var id = $(this).attr('src');
    id = id.substr(id.lastIndexOf("/")+1);
    player.attr('data-id', id);
    player.html(videoThumbYT(id));
    player.on('click', videoIframeYT);

    var videoContainer = $('<div class="video-container">');
    videoContainer.append(player);
    $(this).replaceWith(videoContainer);
});

2 个答案:

答案 0 :(得分:2)

使用 Regular Expressions 最快。

function fbvideoID(frame) {
  var myRegexp = /2F(\d+)%/g;
  var match = myRegexp.exec(frame);
  return match[1];
}

var facebookVideo = '<iframe src="https://www.facebook.com/plugins/video.php?href=https%3A%2F%2Fwww.facebook.com%2FHammers.Serbia.Official%2Fvideos%2F1261009690594307%2F&show_text=0&width=560" width="560" height="315" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true" allowFullScreen="true"></iframe>';

document.write(fbvideoID(myString)); //returns ID 1261009690594307

说明

正则表达式

/2F(\d+)%/g

选择ID。测试 here

var match = myRegexp.exec(frame);

返回两个元素的数组。文档 here

0: "2F1261009690594307%"
1: "1261009690594307"

0索引始终整个表达式。 1只是(\d+) - 大括号。其中包含我们的ID。

希望我帮助过你!

答案 1 :(得分:0)

这里的一种方法,可以稍微改进一下。     

FROM node:onbuild

# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

# Install app dependencies
COPY package.json /usr/src/app/
RUN npm install

# Bundle app source
COPY . /usr/src/app

EXPOSE 3000
CMD [ "node", "server.js" ]