1. 所以一开始通过js来加:
function addTarget(){
var tag_a = document.getElementsByTagName('a')
for (var i = tag.length - 1 i >= 0 i--) {
tag_a[i].setAttribute("target","_blank")
}
}
window.onload = addTarget()
但不知为何无法生效。
2. 然后就想到可以通过设置css来使默认的a都自带target属性,即:
a {
target : _blank
}
发现也行不通。原因是css中没有target属性,不能直接在css中这样写。
3. 最后查资料,发现可以在head标签中加入:
<base target="_blank" />
css不能设置链接是否新开窗口,新开窗口是链接的target属性 target="_blank"为新开窗口要么手动加,要么用javascript来加上这个属性,要么在页面里面加一句<base target="_blank" />所有连接都新开窗口
改成这样:<html>
<head>
<title>电子相册</title>
<script language="javascript">
function showxi(){
var obj=document.getElementById("csslinkid1")
obj.href="11-6catalog.css"
obj.target="_blank"
}
function showppt(){
var obj=document.getElementById("csslinkid2")
obj.href="11-6ppt.css"
obj.target="_blank"
}
</script>
</head>
<body>
<a href="#" onclick="showxi()" id="csslinkid1">详细信息</a>
<a href="#" onclick="showppt()" id="csslinkid2">幻灯片模式</a>
<!--html具体内容-->
<!--html具体内容-->
<!--html具体内容-->
</body>
</html>
从你的意思来看,我觉得把外部CSS写在新窗口的<link>标签里最好。这样的话,可以改成这样:
function showxi(){
var obj=document.getElementById("csslinkid1")
obj.href="新窗口页面2.htm"
obj.target="_blank"
}
function showppt(){
var obj=document.getElementById("csslinkid2")
obj.href="新窗口页面2.htm"
obj.target="_blank"
}
然后你再在
“新窗口页面1.htm”中加入:
<link rel="stylesheet" type="text/css" href="11-6catalog.css" />
“新窗口页面2.htm”中加入:
<link rel="stylesheet" type="text/css" href="11-6ppt.css" />
这样似乎能达到你的要求。