0

我在页面上设置了框架,有没有办法强制子框架中的所有链接在新窗口(“空白”)而不是“自我”中打开?

我无法访问框架中的页面,有时链接会打开新页面,有时它们只是转移到一个全新的页面。我想通过在新页面中打开所有链接来保持一致性。

4

5 回答 5

2

你可以使用一些javascript:

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

您只需要在框架中获取对文档的引用(抱歉,我已经很长时间没有使用框架了)。从记忆中这很容易frame.document

我不肯定你可以修改外部页面的 DOM,但值得一试。

于 2009-08-28T21:42:15.567 回答
1
var links = document.getElementsByTagName('a');
for (var i = 0, l = links.length; i < l; ++i) {
    links[i].target = '_blank';
}

这不适用于 Javascript 加载的框架在新窗口中打开 :(

于 2013-06-27T04:29:45.620 回答
0

不要使用框架。

或者使用 HTTP 对象加载它们(在很多服务器端语言中有很多),使用正则表达式修改链接以指向“_blank”,然后将它们放在您的页面上。

或者,您也许可以使用 DOM:

nodeLink = document.getElementById("alink");
nodeLink.setAttribute("target", "_blank");
于 2009-08-28T21:39:56.290 回答
0

当我回复以下内容时,我错过了什么?

如果你不能改变框架中的页面,你就不会改变它的行为。

于 2009-08-28T21:40:51.170 回答
0

把它放在你的<head></head>标签之间:

<base target="_blank">

只需替换_blank为您希望成为页面上所有链接基础的任何目标。

来源:http ://www.w3schools.com/tags/att_base_target.asp

于 2014-12-25T19:29:56.147 回答