是否可以通过在加载页面时更改目标属性来强制使用javascript在新窗口/选项卡中打开链接,但仅限于外部链接?
修改
有没有更好的方法来做到这一点。
在编写代码时,有没有人可以使用任何示例?
答案 0 :(得分:1)
是的,这是可能的。用户浏览器首选项仍然会胜出,但如果您想在页面加载时更改链接的默认目标属性,则可以调用此函数onload
:
function updateLinkTargets() {
var links = document.getElementsByTagName("a");
for (var i=0;i<links.length;i++) {
var thisDomain = new RegExp("^"+window.location.protocol+"//"+window.location.host);
links[i].target = thisDomain.test(links[i]) ? "_self" : "_blank";
}
}
希望这有帮助。
答案 1 :(得分:0)
是的,有可能。但是,用户的浏览器设置仍会覆盖任何指示其他情况的链接行为。
EG。如果链接指示它应该在外部打开,但是用户已将浏览器设置为在同一窗口/选项卡中打开所有链接,则用户的设置将胜出,链接将不外部开放。