我期待这个:
$('a').setAttribute('target','_blank');
..失败(无声 – 因为jquery通常无声地失败)因为,如果iFrame的内容来自不同的域,则存在从包含页面操纵iFrame中的页面的访问问题.
那就是:如果你自己的页面来自域名a(例如mysite.com),而iframe来自域名b(例如someothersite.com),那么网页浏览器的安全行为是这样的,使用javascript来操纵iFrame内容会给出一个“访问被拒绝”错误.
如果您使用非jquery javascript,您将看到错误.在父页面上,有点像这样:
window.frames["iFrameName"].getElementsByTagName("a")[0].target="_blank"
你会看到错误.
不幸的是,我不确定你能做些什么.故意阻止一个网站包括另一个网站,并在加载后更改内容,以便它说出其他内容.
解决这个问题的一种方法是在服务器上调用脚本(即同一个域)并传入URL.该脚本获取您所访问的页面的内容并将其反馈到您的浏览器,因此您将获得所需网页的内容,但它的地址位于您的网站内…例如,如果它是php:
但请注意那里的身份验证问题