1

Javascript 中获取灵感来插入 IFRAME,我正在尝试通过 Javascript 插入 iFrame:

function display(selector) {

    var i = document.createElement('iframe');
    i.scrolling = 'no';
    i.frameborder = '0';
    i.allowtransparency = 'true';
    i.style.border = 'none';
    i.style.overflow = 'hidden';
    i.style.width = $(selector).css('width');
    i.style.height = $(selector).css('height');
    i.src = '//localhost/content';
    $(selector).append(i);
}

原谅懒惰的 jQuery。

无论如何,这在 Firefox 上可以正常工作,但 Chrome 会出现以下错误:

Port: Could not establish connection. Receiving end does not exist.

Chrome 确实添加了预期的 HTML,但不显示 iFrame。这是什么原因,如果有的话,有什么更好的方法来实现我想要做的事情?

4

1 回答 1

1

您的代码似乎对我有用,也许您需要向您的 localhost url 添加一个端口。

这是一个工作小提琴

function display(selector) {

    var i = document.createElement('iframe');
    i.scrolling = 'no';
    i.frameborder = '0';
    i.allowtransparency = 'true';
    i.style.border = 'none';
    i.style.overflow = 'hidden';
    i.style.width = $(selector).css('width');
    i.style.height = $(selector).css('height');
    i.src = 'http://www.wikipedia.com';
    $(selector).append(i);
}

display($('#cont'));

html:

<div id="cont"></div>

CSS:

#cont {
     width: 200px;
    height: 200px;
}

就我个人而言,我会使用这样的函数,其余的用 css 完成:

function iframeIt(where, url) {
    where.append('<iframe src="' + url + '"></iframe>');
}

iframeIt($('#cont'), 'http://www.wikipedia.com');
于 2013-11-06T17:14:55.907 回答