在弹出窗口问题中插入iframe / object

时间:2015-06-12 18:39:48

标签: iframe popup

晚上好,

我有一个问题,就是在这样的弹出窗口中插入iframe或对象:

//Version 1
function fShowPop()
{   
    var oPopup = window.createPopup();

    oPopup.document.body.innerHTML = '<iframe id="ifrmPop" src="<myLink>"></iframe>';

    oPopup.show(15, 150,200, 200, document.body);
}

//Version 2
function fShowPop()
{   
    var oPopup = window.createPopup();

    oPopup.document.body.innerHTML = '<object  data="<myLink>" type="text/html"></object>';

    oPopup.show(15, 150,200, 200, document.body);
}

结果是一个空白的方块...... 并且页面源不受影响。

<html><body></body></html>

如果我使用document.write,则源会受到影响,但它会保持空白。

事先谢谢!

2 个答案:

答案 0 :(得分:1)

有两个可能的问题:

  • 不再支持window.createPopup()方法。它曾经是一个仅限Internet Explorer的功能,但现在根本不支持任何浏览器。

  • iframe没有设置widthheight属性,因此它的大小为零。但是,现代浏览器的默认iframe大小为300 x 150像素。

由于最可能的原因是没有浏览器支持,请查看http://www.quirksmode.org/js/popup.html,这是另一种选择。

答案 1 :(得分:0)

好的,我解决了它:

//Version 3
function fShowPop()
{   
    var oPopup = window.createPopup();
    oPopup.document.body.innerHTML = '<a target="_blank" href="<mylink>"><img title="" src="../../pics/mypic.gif" border="0"></a>';
    oPopup.show(15, 150,200, 200, document.body);
}

弹出窗口有一种奇怪的行为,但至少它表现得很好。

谢谢!

编辑:最后它不起作用......忘掉它。 Window.open似乎是实现它的唯一方法......