你可以尝试这样的事情(An Example)
var linkGenerator = {
youtube:function(link){
var ifr = document.createElement('iframe'),
p = document.createElement('p');
ifr.src = link;
ifr.frameborder = 0;
ifr.allowfullscreen = true;
ifr.width = '410';
ifr.height = '270';
p.appendChild(ifr);
document.getElementsByTagName('body')[0].appendChild(p);
},
flickr:function(link){
var lnk = document.createElement('a'),
p = document.createElement('p');
lnk.href = link;
lnk.innerHTML = 'image';
p.appendChild(lnk);
document.getElementsByTagName('body')[0].appendChild(p);
}
};
var link1 = 'http://www.flickr.com/photos/volume12/3820189650/';
var link2 = 'http://youtube.com/embed/QYEC4TZsy-Y';
if(link1.match(/flickr/i)) {
linkGenerator.flickr(link1);
}
if(link2.match(/youtube/i)) {
linkGenerator.youtube(link2);
}
这只是一个想法,你可以扩展它,并添加更多的功能,为多个域名。另请注意,由于'X-Frame-Options' set to 'SAMEORIGIN',我使用http://youtu.be/embed/QYEC4TZsy-Y而不是http://youtu.be/QYEC4TZsy-Y。
更新:(要重新使youtube网址与embed)
var link2 = 'http://youtube.com/QYEC4TZsy-Y';
if(link2.match(/youtube/i)) {
var vdoId = link2.split('/').pop();
link2 = 'http://www.youtube.com/embed/'+vdoId;
linkGenerator.youtube(link2);
}