在新标签页中打开 iFrame 链接

Open iFrame links in a new tab?

本文关键字:iFrame 链接 新标签 标签      更新时间:2023-09-26

我已经无休止地尝试在父选项卡或新选项卡中打开iframe链接,但是我似乎无法让它们工作。当我将链接设置为 target="_parent" 时,链接什么也不做,当我将链接设置为 target="_blank" 时,它们会在新选项卡中打开,但也不显示任何内容。

一旦我摆脱了将目标添加到链接的代码,它们就可以工作但在 iframe 中打开,这不是我想要完成的。任何帮助将不胜感激。

这是我正在使用的 iframe 代码:

<iframe src="js/eventsFrame2.php?EventID=2422308" id="frameclass" frameborder="0" scrolling="no" width="100%" height="600">

以下是 iframe 中的代码:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
  function myFunction() {
    $("a").attr('target','_parent');
  }
$(window).load(myFunction);
</script>
<script language="javascript" type="text/javascript"> 
    document.write('<script language="javascript" src="http://tickettransaction.com/?bid=1761&amp;sitenumber=18&amp;tid=ticket_results&amp;evtid=2422308"><'/script>');
</script>

如果您可以控制 iframe 中的内容,则可以尝试使用基本标记。

示例 -- 在加载到 iframe 的页面中,在标题中包含基本标记:

<base target="_top"/>

您是否尝试过用您的内容覆盖父页面(包含 iframe)?

iframe 中的代码:

<script language="javascript" type="text/javascript"> 
    parent.document.write('<script src="http://tickettransaction.com/?bid=1761&amp;sitenumber=18&amp;tid=ticket_results&amp;evtid=2422308"><'/script>');
</script>

Query 定义了 content() 方法来抓取文档节点,但它没有给你一种从文档到窗口的跨浏览器方式,所以你仍然坚持:

var iframea = $('iframe').contents().find("a");
iframea.attr('target','_parent');

重要提示:您应该始终检查文档的状态是否为"完成",以便使用此

文档
var iframe= document.getElementById('iframe_id');
//var iframewindow= iframe.contentWindow
//? iframe.contentWindow : iframe.contentDocument.defaultView;
var preview =  previewFrame.contentDocument ||  previewFrame.contentWindow.document;
if (preview.readyState=="complete")
{
   //ok
}
else
{
   //perform a recursive call until it is complete
}