繁体   English   中英

在新标签页(同一域)中打开iframe中的所有链接

[英]Open all links in an iframe in a new tab (same domain)

关于此主题,有很多类似的帖子,但我尝试了全部,但都没有完成我想做的事情。

我有一个iframe可以领导域中的其他页面。

<iframe src="test/index.html" frameborder="0" width="100%" height="100%" id="iframe" name="iframe"></iframe>

注意:我无法更改iframe中页面的代码。

我想使用jQuery在新标签页中打开“ text / index.html”的所有链接。 我怎样才能做到这一点?

谢谢!

您可以像这样在iframe调用一个function

document.getElementById('targetFrame').contentWindow.targetFunction();

现在,您可以执行以下操作:

var iframe = document.getElementById('iframe');
var links = (iframe.contentDocument || iframe.contentWindow.document).getElementsByTagName('a');

然后您可以使用window.open迭代链接并在新的选项卡/窗口中打开它们。 由于安全性限制,某些浏览器不允许您执行此操作。 现在,如果iframe具有与其他窗口的某些消息传递,那么您可能需要阅读以下文章: https : //developer.mozilla.org/en-US/docs/Web/API/Window/postMessage

最后,如果这些都不可用,则只需将请求发送到显示在iframe的页面,然后在收到HTML时对其进行解析,查找链接并使用window.open打开它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM