我有3个html文件: force_hyperlink_open_in_new_window.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Force hyperlink open in new window</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
</head>
<body>
<a href="force_hyperlink_open_in_new_window_01.html">Foo</a>
<a href="force_hyperlink_open_in_new_window_02.html">Bar</a>
<script type="text/javascript">
$('a[href^="http://"]')
.not('[target="_blank"]')
.attr('target', '_blank');
</script>
</body>
</html>
force_hyperlink_open_in_new_window_01.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>01</title>
<style>
body{
background-color: tomato;
}
</style>
</head>
<body>
</body>
</html>
force_hyperlink_open_in_new_window_02.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>02</title>
<style>
body{
background-color: limegreen;
}
</style>
</head>
<body>
</body>
</html>
为什么 2 个超链接无法在新标签页中打开(我使用 Google Chrome 版本 52.0.2743.116(64 位))?
最佳答案
您选择以 http://
开头的 anchor ,而您的链接是相对的并且不以 http://
开头。
将 JQuery 选择器更改为常规 anchor :$('a')
,它将添加您的目标(如果他们还没有)。请参阅https://jsfiddle.net/k7ww81ee/
$('a')
.not('[target="_blank"]')
.attr('target', '_blank');
关于javascript - 为什么超链接无法在新选项卡中打开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39064745/