关于此主题的文章很多,但我尝试了全部,但都没有完成。
我有一个iframe可以领导域中的其他页面。
<iframe src="test/index.html" frameborder="0" width="100%" height="100%" id="iframe" name="iframe"></iframe>
注意:我无法更改iframe中页面的代码。
使用jQuery,我想在新标签中打开'text / index.html'的 all 链接。我怎样才能做到这一点?
谢谢!
答案 0 :(得分:0)
您可以像这样在function
中调用iframe
:
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时进行解析,查找链接并使用{ {1}}。