JSFiddle可能是解释这个问题的最好方法。 http://jsfiddle.net/mTPwc/
我使用以下JS从Youtube URL生成iframe对象:
window.onload = loadviddy();
function loadviddy() {
var page = document.getElementById('main');
anchor_finder = new RegExp('[^<p>]*(<a href="([^"]+)">http([^<]+)</a>)');
url_finder = /http:\/\/(?:www\.)?youtu(?:be\.com\/watch\?v=|\.be\/)([\w\-\_]*)(&(amp;)?[\w\?=]*)?/;
var video_id = page.innerHTML.match(url_finder);
page.innerHTML = page.innerHTML.replace(anchor_finder, video_id[0]);
var embed_code = '<div id="wrapper-rect"><div class="video"><div class="stretchy"><iframe src="https://www.youtube.com/embed/' + video_id[1] + '?hd=1&rel=0&autohide=1&showinfo=0" frameborder="0" allowfullscreen="allowfullscreen">This browser does not support iframes.</iframe></div></div></div>';
page.innerHTML = page.innerHTML.replace(url_finder, embed_code);
}
它会在所有浏览器上加载iframe元素,但iframe仅显示在Chrome上。
我在Firefox,Opera,Safari和IE上测试过它。他们都不能加载视频。关于可能导致这种情况的任何线索?