我在页面上设置了框架,有没有办法强制子框架中的所有链接在新窗口(“空白”)而不是“自我”中打开?
我无法访问框架中的页面,有时链接会打开新页面,有时它们只是转移到一个全新的页面。我想通过在新页面中打开所有链接来保持一致性。
你可以使用一些javascript:
var links = document.getElementsByTagName('a');
for (var i = 0, l = links.length; i < l; ++i) {
links[i].target = '_blank';
}
您只需要在框架中获取对文档的引用(抱歉,我已经很长时间没有使用框架了)。从记忆中这很容易frame.document
我不肯定你可以修改外部页面的 DOM,但值得一试。
var links = document.getElementsByTagName('a');
for (var i = 0, l = links.length; i < l; ++i) {
links[i].target = '_blank';
}
这不适用于 Javascript 加载的框架在新窗口中打开 :(
不要使用框架。
或者使用 HTTP 对象加载它们(在很多服务器端语言中有很多),使用正则表达式修改链接以指向“_blank”,然后将它们放在您的页面上。
或者,您也许可以使用 DOM:
nodeLink = document.getElementById("alink");
nodeLink.setAttribute("target", "_blank");
当我回复以下内容时,我错过了什么?
如果你不能改变框架中的页面,你就不会改变它的行为。
把它放在你的<head>
和</head>
标签之间:
<base target="_blank">
只需替换_blank
为您希望成为页面上所有链接基础的任何目标。