Javascript 如何在新选项卡中打开iframe中的所有链接

Javascript 如何在新选项卡中打开iframe中的所有链接,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,我正在尝试这样做,当您单击中的链接时,它将在新选项卡中打开链接,而不是在中。请注意,我无法控制人们通过查看的内容 我试图用javascript实现这一点,比如$('a').setAttribute('target','u blank') 但这不适合我。 我的HTML文档中也有,这也不起作用 这不可能吗?还是我只是找错了地方? 提前谢谢 检查此解决方案它帮助了我: 或者您可以尝试parent.window.open(“{{your location}”) 要在父窗口中加载页面上的所有链接,请使用:

我正在尝试这样做,当您单击
中的链接时,它将在新选项卡中打开链接,而不是在
中。请注意,我无法控制人们通过
查看的内容

我试图用javascript实现这一点,比如
$('a').setAttribute('target','u blank')
但这不适合我。
我的HTML文档中也有
,这也不起作用

这不可能吗?还是我只是找错了地方?
提前谢谢

检查此解决方案它帮助了我:


或者您可以尝试parent.window.open(“{{your location}”)

要在父窗口中加载页面上的所有链接,请使用:

<base target="_parent" />
<base target="_blank" />

否则,在新窗口中使用:

<base target="_parent" />
<base target="_blank" />

我希望:

$('a').setAttribute('target','_blank');
。。失败(静默-因为jquery通常静默失败),因为如果iFrame的内容来自不同的域,那么在iFrame中从包含页面操作页面时会出现访问问题

也就是说:如果您自己的页面来自域a(例如mysite.com),而iframe来自域b(例如someothersite.com),那么web浏览器的安全行为是这样的:使用javascript操作iframe内容将出现“访问被拒绝”错误

如果使用非jquery javascript,您将看到错误。从父页面,类似以下内容:

window.frames["iFrameName"].getElementsByTagName("a")[0].target="_blank"
您将看到错误

不幸的是,我不知道你能做些什么。停止一个网站包括另一个网站,并在加载后更改内容,使其显示其他内容,这是一件深思熟虑的事情

一种解决方法是在服务器(即同一个域)上调用脚本并传入URL。脚本将获取您所关注的页面的内容并将其返回到您的浏览器,这样您就可以获得所需网页的内容,但其地址位于您的站点内。。例如,如果是php:

尽管使用
$('a').attr('target','u blank'),但要注意那里的身份验证问题而不是setAttribute


target='blank'
替换为
onclick='window.open();'

var links= document.getElementsByTagName('a');
for (var i=0; i<links.length; i++){
   links[i].setAttribute('target', '_top');
}

iframe页面是否来自同一域?请尝试parent.window.open(“{{your location}”);类似的问题?可能会有类似的问题,但它们有规格。iframe在我的网页上,iframe显示的内容不是。你只是告诉他使用不同的JavaScript符号。这到底是如何解决问题的?这最好作为一个评论,而不是一个答案。我投了更高的票,因为它确实修复了提议的JS。OP有两个问题。哈哈,这是我尝试过的所有其他解决方案中唯一有效的。非常感谢你!