如果你可以控制 iframe 的 url,试试这个。
首先,看看window.postMessage。使用它,您可以将事件从 iframe 发送到窗口父目标。在窗口父级中侦听该事件(当 iframe 中的某些内容发生更改时),您将能够使用如下语法访问 object 标记内的任何元素:
$('object').contents().find('linkSelector')
给你的 iframe 一个 id,比如说myIframe:
<iframe id="myIframe"> html site 1 with link to click</iframe>
获取对 iframe 的引用:
var myIframe = document.getElementById('myIframe');
从 iframe 发布消息:
myIframe.contentWindow.postMessage('iframe.clicked', 'http://your-domain.here.com');
iframe 更改处理程序:
var handleIframeChange = function(e) {
//
if(e.origin == 'http://your-domain.here.com') {
// Get reference to your `object` tag
var objContent = $('object').contents();
// For instance, let's hide an element with a class of `link-class-here`
objContent.find('.link-class-here').hide();
}
}
在父窗口上监听 iframe 发送的事件:
window.addEventListener('iframe.clicked', handleIframeChange, false);
现在还没有测试过(过去做过,当时我可以控制 iframe)但它应该可以工作,但正如我所说,只有你可以控制 iframe。