如何能限制一个链接被同时打开多次。

bhxu 2006-05-31 03:41:51
a.asp页面从数据库中读出比如5行记录,点击每条记录都可以打开一个新页面,新页面含有只能一次运行的控件。所以当点击(比如)第一条记录时,打开新页面,控件运行正常。但如果接着再点击第一条或其他条记录打开新页面则会运行错误,因为控件已经被占用了。

所以,我怎样才能让点击打开一个新页面后再点击同样记录或相似记录时不响应打开新记录
...全文
485 15 打赏 收藏 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
loveme820 2006-06-01
  • 打赏
  • 举报
回复
3.用个SESSION记录下是否有打开对象,做个中转页面判断是否有,若有,则不允许再打开。
但以上算法很不好。
所有电影类网站都不是这么做的。嘎嘎。
loveme820 2006-06-01
  • 打赏
  • 举报
回复
既然有这个需求,仅仅是为了不允许打开第二个,其实很简单——
1.链接语句写成:
<a onclick='checklink();'>链接1</a>

2.写脚本判断:
var link_flag=true;
function checklink(){
if(link_flag==true){window.open(......);return;}
link_flag=false;
}
bhxu 2006-06-01
  • 打赏
  • 举报
回复
if(a==null)
a=window.open("...");

如果我手动关闭了window.open()的窗口后,a并不会变为null
什么都不能 2006-05-31
  • 打赏
  • 举报
回复
if(a==null)
a=window.open("...");
webphoenix 2006-05-31
  • 打赏
  • 举报
回复
向这样写<a href="xxx.asp" target="bbb">ss</a>
在默认情况下你只能打开一个xxx.asp页面
bhxu 2006-05-31
  • 打赏
  • 举报
回复
上面写错了一点
typeof(aa) = "object"应该是typeof(aa) == "object"

利用这种方法可以在一个窗口打开的同时禁止再打开新窗口,因为在window.open执行前就判断了,但是如果我手动关闭了打开的新窗口后,这里却不能感知,最后结果是
我手动关闭了打开的新窗口后,就再也不能打开新窗口了,即typeof(aa) == "object" 永远成立

我在javascript中如何才能探测感知由window.open打开的窗口是否存在
bhxu 2006-05-31
  • 打赏
  • 举报
回复
现在问题是打开新窗口后再点击新记录会刷新以前那个页面,而如果那个页面正在进行某个监控录像播放则会被关闭。

在网上找到如下建议
if (typeof(aa) = "object") {
return;
}
else{
aa = window.open('')
}
但我试验了不成功,不知问题出在哪里?如果行则正好可以满足我的要求。
bhxu 2006-05-31
  • 打赏
  • 举报
回复
loveme820(例外)

我是由这样的需求的。打开的新窗口中控件是用来做视频监控的,可能打开后要连续使用10个小时,
而使用window.showModalDialog(myurl,this);则会产生不关闭弹出窗口就不能在主页面做任何事情。而我的要求是弹出一个新窗口后主页面还能进行别的操作(点击记录打开新窗口当然要禁止)
loveme820 2006-05-31
  • 打赏
  • 举报
回复
另,楼主绕的弯子太大了。算法在别人的引导下,也越来越差。
防止10个小时刷新页面这样的想法也太夸张了,有时会把用户搞晕死。
loveme820 2006-05-31
  • 打赏
  • 举报
回复
既然如此,为何不采用window.showModalDialog(myurl,this);的方法?
这样不关闭第一个,就永远没机会打开第二个。
bhxu 2006-05-31
  • 打赏
  • 举报
回复
恩,不错,请问怎样实现三秒中之内不允许刷新,这个时间可以定很长吗?比如说10个小时
robake 2006-05-31
  • 打赏
  • 举报
回复
你可以使用window.open()设置网页名称,再次点击同样只会使用这一个名称的窗口,就相当于刷新!
bhxu 2006-05-31
  • 打赏
  • 举报
回复
aspgreener(水若寒) 你可能理解错我的意思了,每次点击记录都是开新的窗口,新窗口并不是同一个
bhxu 2006-05-31
  • 打赏
  • 举报
回复
我尝试用onclick函数响应点击,然后再脚本里面设变量(初始为0),点击函数响应一次加一,如果变量不为0则不打开新窗口。

可是这样如果我刷新a.asp页面再点击新页面中记录来打开新窗口则不能控制
aspgreener 2006-05-31
  • 打赏
  • 举报
回复
可以采用防刷新的方法,比如三秒中之内不允许刷新。

28,402

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧