Javascript生成的iframe会在Chrome上显示,但不会在其他地方显示

时间:2014-01-12 22:22:07

标签: javascript html css iframe

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&amp;rel=0&amp;autohide=1&amp;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上测试过它。他们都不能加载视频。关于可能导致这种情况的任何线索?

0 个答案:

没有答案