在新窗口中打开 iframe

4
我该如何在新窗口中打开一个iframe?我尝试使用"scrolling='auto'",但没有成功。
以下是我的代码:
<iframe width="572px" scrolling="auto" height="335px" 
        frameborder="1" src="http://XXXX.com/iframe-page"
        style="border: 0px none #ffffff;" name="national-campaign" 
        marginheight="0px" marginwidth="0px">
</iframe>

我想在新窗口中打开链接。我有两个站点,一个是公司网站,另一个是经销商网站。在公司网站上,我有一个仅包含图像的页面,我希望在公司网站和经销商网站都显示该图像。当您单击图像时,它会进入详细信息页面。但是,我在经销商网站中希望点击iframe图像时在新窗口中打开选项卡,而不是在iframe内部显示详细信息页面。
有什么想法?谢谢。

2
你能再解释一下你的意思吗?你想在新窗口打开一个链接吗?iframe是嵌入到另一个页面中的“窗口”。如果没有其他页面,嵌入和iframe的概念似乎就没有太多意义了。 - Christian Fritz
除非这两个页面在同一个域名下,否则你无法完成此操作。 - Blazer
是的,我想在新窗口中打开链接。我有两个网站,一个公司网站和一个经销商网站。在公司网站上,我有一个只有图片的页面,我希望在公司网站和经销商网站中都显示该图片。当您单击图像时,它会转到查看详细信息页面。然而,在我的经销商网站上,当您单击iframe图像时,它会在新窗口中打开选项卡,而不是在iframe内显示详细信息页面。希望这有意义。 - Alex Chen
4个回答

6
你可以使用jQuery和window.open方法来实现。
HTML:
<iframe id="iframe" width="572px" scrolling="auto" height="335px" 
        frameborder="1" src="http://XXXX.com/iframe-page"
        style="border: 0px none #ffffff;" name="national-campaign" 
        marginheight="0px" marginwidth="0px">
</iframe>

JS :

var iframe = $("#iframe"); 
var newWindow = window.open(iframe.attr(src), 'Dynamic Popup', 'height=' + iframe.height() + ', width=' + iframe.width() + 'scrollbars=auto, resizable=no, location=no, status=no');
newWindow.document.write(iframe[0].outerHTML);
newWindow.document.close();
iframe[0].outerHTML = ''; // to remove iframe in page.

1
你所建议的是简单的js - 但它在父窗口中可能无法使用 - 除非父域对你的iframe的js能力没有限制,这种情况不太可能发生。 - Ricalsin

2
尝试在链接中添加target="_top"
或者,如果您需要在iframe内打开新页面的链接(如果我正确理解),您可以:
使用jQuery
$('iframe a').attr('target', '_blank');

1

简单的方法是使用一个带有属性target="_blank"的超链接。

如果高度和宽度对您很重要(参见您的示例),那么您可以使用JavaScript方法window.open


0

我建议您使用超链接到另一个页面,而不是iframe。或者使用实际上是链接的屏幕截图。

有些用户可能“聪明”地在iframe内右键单击(在Internet Explorer中),然后选择“在新窗口中打开”选项,但其他用户可能不会这样做。


嗨,我最终使用 'target="_top"' 在公司网站图片上使它工作了。所以代码是:<a href="/details-page" target="_top"><img src="/images/image.jpg" /></a>。 - Alex Chen
或者使用'target=_blank'来打开一个新窗口 :) - kosherjellyfish
但是这是使用超链接而不是iframe完成的。 - George Georgiou

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接