我已经尝试用javascript代码中的嵌入代码替换youtube和vimeo url.
我用过这段代码:
例1:
HTML:
JAVASCRIPT:
$("#divContent").html('http://www.youtube.com/watch?v=t-ZRX8984sc
http://vimeo.com/82495711
http://youtu.be/t-ZRX8984sc'); $('#divContent').html(function(i, html) { return html.replace(/(?:http:\/\/)?(?:www\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=)?(.+)/g, '').replace(/(?:http:\/\/)?(?:www\.)?(?:vimeo\.com)\/(.+)/g, ''); });
演示示例1: http ://jsfiddle.net/88Ms2/301/ - 它不起作用.
例2
HTML:
http://www.youtube.com/watch?v=t-ZRX8984sc
http://vimeo.com/82495711
http://youtu.be/t-ZRX8984sc
JAVASCRIPT:
$('#divContent').html(function(i, html) { return html.replace(/(?:http:\/\/)?(?:www\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=)?(.+)/g, '').replace(/(?:http:\/\/)?(?:www\.)?(?:vimeo\.com)\/(.+)/g, ''); });
演示示例2: http ://jsfiddle.net/88Ms2/300/ - 它正在运行
我使用ajax从数据库中检索了一个数据.我需要使用javascript将html代码插入div的数据.如何将示例1修改为正确的代码?
在示例1中,将javascript代码更改为:
$('#divContent').contents() .filter(function(){ return this.nodeType === 3; }) .map(function(index, text){ $(text).replaceWith( text.textContent.replace(/(?:http:\/\/)?(?:www\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=)?(.+)/g, '<iframe src="http://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>').replace(/(?:http:\/\/)?(?:www\.)?(?:vimeo\.com)\/(.+)/g, '<iframe src="//player.vimeo.com/video/$1" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>') ); })
它现在应该工作.