在弹出问题中插入 iframe/object

Insert iframe/object in popup issue

晚上好,

我在像这样创建的弹出窗口中插入 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 个可能的问题:

  • 不再支持 window.createPopup() 方法。它曾经是 Internet Explorer 独有的功能,但现在任何浏览器都完全不支持它。

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

由于最可能的原因是不支持浏览器,请查看 http://www.quirksmode.org/js/popup.html,这是一个替代方案。

好的,我解决了:

//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 似乎是实现它的唯一方法...