我想在facebook中实现类似的功能,您可以发布视频。因此,当您复制链接时,Facebook会创建某种快照,然后您发布它。我在谷歌周围搜索如何做到这一点,但不幸的是没有发现任何有用的东西。
我想知道是否有一些已经实现的插件或教程来执行此类操作。
我发现的唯一例子就像是使用了标记的jQuery库。除此之外还有更优雅的东西。
marked.setOptions({
gfm: true,
pedantic: false,
sanitize: true,
highlight: null,
urls: {
youtube : function(text, url) {
var cap;
if((cap = /(youtu\.be\/|youtube\.com\/(watch\?(.*&)?v=|(embed|v)\/))([^\?&"'>]+)/.exec(url))) {
return '<iframe width="420" height="315" src="https://www.youtube.com/embed/' + cap[5] + '" frameborder="0" allowfullscreen</iframe>';
}
},
vimeo : function(text, url) {
var cap;
if((cap = /^.*(vimeo\.com\/)((channels\/[A-z]+\/)|(groups\/[A-z]+\/videos\/))?([0-9]+)/.exec(url))) {
return '<iframe src="https://player.vimeo.com/video/' + cap[5] +'" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>';
}
},
dailymotion : function(text, url) {
var cap;
if((cap = /^.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/.exec(url))) {
return '<iframe frameborder="0" width="480" height="271" src="https://www.dailymotion.com/embed/video/' + cap[2] +'"></iframe>';
}
}
});
答案 0 :(得分:0)
您应该解析页面的元标记。例如,如果您查看youtube页面的源代码,您将找到这样的标记,这些标记是定义的标准。
<meta property="og:site_name" content="YouTube">
<meta property="og:url" content="http://www.youtube.com/watch?v=lB6a-iD6ZOY">
<meta property="og:title" content="Sting - Fragile">
<meta property="og:image" content="http://i.ytimg.com/vi/lB6a-iD6ZOY/maxresdefault.jpg">
<meta property="og:description" content="Music video by Sting performing Fragile. YouTube view counts pre-VEVO: 1,794,143. (C) 1991 A&M Records">
<meta property="al:ios:app_store_id" content="544007664">
<meta property="al:ios:app_name" content="YouTube">
<meta property="al:ios:url" content="vnd.youtube://www.youtube.com/watch?v=lB6a-iD6ZOY&feature=applinks">
<meta property="al:android:url" content="http://www.youtube.com/watch?v=lB6a-iD6ZOY&feature=applinks">
<meta property="al:android:app_name" content="YouTube">
<meta property="al:android:package" content="com.google.android.youtube">
<meta property="al:web:url" content="http://www.youtube.com/watch?v=lB6a-iD6ZOY&feature=applinks">
<meta property="og:type" content="video">
<meta property="og:video" content="http://www.youtube.com/v/lB6a-iD6ZOY?autohide=1&version=3">
<meta property="og:video:secure_url" content="https://www.youtube.com/v/lB6a-iD6ZOY?autohide=1&version=3">
<meta property="og:video:type" content="application/x-shockwave-flash">
<meta property="og:video:width" content="853">
<meta property="og:video:height" content="480">
<meta property="og:video:tag" content="Sting">
<meta property="og:video:tag" content="A&M">
<meta property="og:video:tag" content="Rock">
你可以看到有“og:image”元标记,它基本上指向视频的快照。所以这样你就可以得到所有需要的信息。这几乎是您实现该功能所需要知道的全部内容。
答案 1 :(得分:0)
我发现了这个...... http://embedly.github.io/jquery-preview/demo/
看起来非常优雅的解决方案