注册 登录
编程论坛 ASP技术论坛

点击链接跳转到新窗口而非子框架的问题

liu_libra 发布于 2008-11-25 22:16, 2757 次点击
假如页面a.asp包含有一个子框架iframe,<iframe  name="main"  src="b.asp"></iframe>,有一个超链接<a href="adfb.asp" target="main">发布广告</a>,如果session超时的话,则当点击“发布广告”时在新窗口中打开登录页面login.asp,代码要如何写,我现在的问题是当session超时的话每次点击链接时则在子框架iframe中打开login.asp,而不是在新窗口打开,这个问题该如果解决,请知道的不吝赐教啊!

[[it] 本帖最后由 liu_libra 于 2008-11-25 22:48 编辑 [/it]]
11 回复
#2
谁与争疯2008-11-25 22:32
如果这样的话,你要转到别的页面要进行if才能判断.
#3
liu_libra2008-11-25 22:50
哦,我指的就是用if判断session已经超时的情况下点击链接在子框架而不是新窗口中打开,我想要的结果是在新窗口中打开
#4
lackyking2008-11-26 10:02
<a href="adfb.asp" target="main" <%if session(exp)=empty then response.write "target='_blank'"%>>发布广告</a>

不过这样的话,好像要刷新此iframe才行,因为浏览器得到的是服务器传来的静态页面,没有操作的情况下无法获得session状态。如果加入js应该可行。
#5
lackyking2008-11-26 10:16
<%
Session.Timeout=5'设定Session过期时间为5分钟
%>
<script type="text/javascript">
var timeout=<%=Session.Timeout%>*1000*60;
function checksession(){
    document.getElementById("link").target="_blank";
    document.getElementById("link").href="login.asp";
}
setTimeout("checksession()",timeout);
</script>
<a href="http:// target="_self" id="link">Google</a>

由于我的机器上没有IIS,不能调试,也许不可行,大致思路就是如此吧,楼主可以试着改一改,祝你成功。
#6
liu_libra2008-11-26 19:13
我是这样写的代码
<% if session("username")="" then
response.Redirect"../login.asp"
end if
%>请问要怎么修改这段代码才能是login.asp在新窗口而非子框架中显示?
#7
sunfishy2008-11-26 20:49
1:index.asp页

<iframe name="link" src="iframecon.asp" width="300" height="200">   
</iframe>

2:iframecon.asp页
<script>
function goto(){
//window.opener=null;
window.close();
window.open("login.asp","","");
}
</script>
<body>
<a href="adfb.asp" target="_blank" <%if session("username")="" then response.write("onclick='goto();'")
else response.write("onclick=''") end if%>>go</a>

[[it] 本帖最后由 sunfishy 于 2008-11-26 21:02 编辑 [/it]]
#8
liu_libra2008-11-26 21:04
我运行了上面的代码,提示错误啊
语法错误
/admin/admin.asp, line 83
else response.write("onclick=''") end if
#9
liu_libra2008-11-26 21:06
问题解决了,是我不小心换行了,谢谢7楼!
#10
sunfishy2008-11-26 21:08
1:index.asp页

<iframe name="link" src="iframecon.asp" width="300" height="200">   
</iframe>

2:iframecon.asp页
<script>
function goto(){
//window.opener=null;
window.close();
window.open("login.asp","","");
}
</script>
<body>
<a href="adfb.asp" target="_blank" <%if session("username")="" then response.write("onclick='goto();'") end if%>>go</a>

===那就试这段吧..
#11
sunfishy2008-11-26 21:09
新版页面看着不舒服.表情都找不着.真希望阿静同志赶快改回来.!
#12
liu_libra2008-11-26 21:12
同感,已经习惯了原来的版面改了有些不太适应了!
1