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