我在做一个web版的即时通信,类QQ的东西,比如需求如下
如果我先有个提示信息,提示有没有信息,如果有点击弹出一个页面
如果这个页面已经弹出,那我就不用再弹出了,请问我该如何判断一个页面是否已经弹出。就象QQ那样,查看信息时候已经弹出窗口了就不用弹了。高人出来指点下,最好有代码。多谢
22 个解决方案
#1
用window.open
给他个窗口名
如果已经打开就不会新打开窗口
给他个窗口名
如果已经打开就不会新打开窗口
#2
这里的问题是
判断窗口是否已经打开
而不是防止打开多次
判断窗口是否已经打开
而不是防止打开多次
#3
http://www.cnblogs.com/dahuzizyd/archive/2004/06/22/17879.html
#4
你这个好象不行
谁提供个JS脚本
我自己找了个,但是判断的时候它总是自动打开一个窗口
判断的时候不要这样的
HELP
谁提供个JS脚本
我自己找了个,但是判断的时候它总是自动打开一个窗口
判断的时候不要这样的
HELP
#5
不要用 cookie,session 什么的思路。。
#6
<html>
<script>
var xxx;
function openWindow()
{
xxx = window.open("a.htm","javascript");
}
function closeWindow()
{
if (xxx && xxx.open && !xxx.closed)
{
xxx.close();
}
}
</script>
<input type="button" value = "open" onclick="openWindow()">
<input type="button" value = "close" onclick="closeWindow()">
</html>
<script>
var xxx;
function openWindow()
{
xxx = window.open("a.htm","javascript");
}
function closeWindow()
{
if (xxx && xxx.open && !xxx.closed)
{
xxx.close();
}
}
</script>
<input type="button" value = "open" onclick="openWindow()">
<input type="button" value = "close" onclick="closeWindow()">
</html>
#7
window.open 完全可以达到效果,楼主为什么认死一定要坐火车才能去北京呢,免费的飞机难道不是更好。
用window.open完全可以实现你说的“就象QQ那样,查看信息时候已经弹出窗口了就不用弹了”,而且根本不需要去判断。
用window.open完全可以实现你说的“就象QQ那样,查看信息时候已经弹出窗口了就不用弹了”,而且根本不需要去判断。
#8
这里的问题是
判断窗口是否已经打开
而不是防止打开多次
你判断的目的何在? 照你上面说你判断的目的其实就是要防止多次打开,坐火车去北京,你要做的事难道不是去北京而是坐火车么?
判断窗口是否已经打开
而不是防止打开多次
你判断的目的何在? 照你上面说你判断的目的其实就是要防止多次打开,坐火车去北京,你要做的事难道不是去北京而是坐火车么?
#9
楼上的正解。。。。。LZ应该 去试试不就得了。。。。。。。。。。。。
#10
if 窗体ID!=null
{
//可进行操作,窗体已经打开了
function
}
{
//可进行操作,窗体已经打开了
function
}
#11
多谢各位热情棒场
可能我没说清楚
我的需求就是要判断页面是否打开!!!!具体点的需求如下,这里是即时通信的一部分,如果有新信息,则显示‘有N条新信息’,点击这个提示,依次显示信息,这里就打开新页面了,如果已经打开一个新信息相应页面,那这个新信息就不用显示了,新信息提示在刚刚已经打开的页面。所以要判断某页面是否打开。信息提示我这里用ajax定时刷新,但是就出现这个判断页面打开问题。最好用JS,无奈之极,急着等救命了
可能我没说清楚
我的需求就是要判断页面是否打开!!!!具体点的需求如下,这里是即时通信的一部分,如果有新信息,则显示‘有N条新信息’,点击这个提示,依次显示信息,这里就打开新页面了,如果已经打开一个新信息相应页面,那这个新信息就不用显示了,新信息提示在刚刚已经打开的页面。所以要判断某页面是否打开。信息提示我这里用ajax定时刷新,但是就出现这个判断页面打开问题。最好用JS,无奈之极,急着等救命了
#12
这个问题不知道
帮定了
帮定了
#13
给已经查看的信息加一个标志位,根据标志位判断是不是已经打开,不明白为什么一定要根据页面判断。
#14
代码不是给你了么?
你自己改改就好了啊~~~~`
难道非得别人给你写的一字不差??Faint~~~~
if (xxx && xxx.open && !xxx.closed)
{
//页面已经打开~~~~
}
else
{
xxx = window.open....
}
你自己改改就好了啊~~~~`
难道非得别人给你写的一字不差??Faint~~~~
if (xxx && xxx.open && !xxx.closed)
{
//页面已经打开~~~~
}
else
{
xxx = window.open....
}
#15
我倒 这个答案BAIDU一下能搜索出几百条
如果这样做的话
也就是相当于它自己先弹出自己要判断的页面
再判断 搞笑了。
如果这样做的话
也就是相当于它自己先弹出自己要判断的页面
再判断 搞笑了。
#16
当初我就是这样做的
但不合理
因为如果你判断有几个不同命名页面的话
它会先自动弹出这些页面然后判断
这不是废话吗
但不合理
因为如果你判断有几个不同命名页面的话
它会先自动弹出这些页面然后判断
这不是废话吗
#17
因为如果你判断有几个不同命名页面的话
它会先自动弹出这些页面然后判断
----------
???
什么意思
恕我没看明白
为什么会自动弹出页面然后判断??
我都说了,难道非得别人给你写出现成的代码??
自己难道就不会根据人家写好的改改??
我真服了~~~
它会先自动弹出这些页面然后判断
----------
???
什么意思
恕我没看明白
为什么会自动弹出页面然后判断??
我都说了,难道非得别人给你写出现成的代码??
自己难道就不会根据人家写好的改改??
我真服了~~~
#18
<script>
var xxx;
function clickHref()
{
if (xxx && xxx.open && !xxx.closed)
{
return;
}
xxx = window.open("2.htm");
document.all.aaa.style.display = "none";
}
function ajax()
{
//取信息状态
.............
if (xxx && xxx.open && !xxx.closed)
{
//隐藏信息
document.all.aaa.style.display = "none";
}
else
{
//显示新信息
document.all.aaa.style.display = "";
}
setInterval('ajax()',1000);
}
</script>
<form id="form1" onload="ajax()">
<a name="aaa" href="#" onclick="clickHref()" target="_self">信息</a>
</form>
我理解下来这样基本可以符合要求了
没调试
自己改改
我搞不清楚这样为什么会自动弹出页面~~~~~~~
var xxx;
function clickHref()
{
if (xxx && xxx.open && !xxx.closed)
{
return;
}
xxx = window.open("2.htm");
document.all.aaa.style.display = "none";
}
function ajax()
{
//取信息状态
.............
if (xxx && xxx.open && !xxx.closed)
{
//隐藏信息
document.all.aaa.style.display = "none";
}
else
{
//显示新信息
document.all.aaa.style.display = "";
}
setInterval('ajax()',1000);
}
</script>
<form id="form1" onload="ajax()">
<a name="aaa" href="#" onclick="clickHref()" target="_self">信息</a>
</form>
我理解下来这样基本可以符合要求了
没调试
自己改改
我搞不清楚这样为什么会自动弹出页面~~~~~~~
#19
谢谢
就算没解决问题也给你加分了。。
因为我这个问题的性质不一样
你给的代码没意义
不好意思 忘贴代码了
简单的来说
如果我知道某一页面的命名
咨询下
我可以判断这个页面已经打开吗
就算没解决问题也给你加分了。。
因为我这个问题的性质不一样
你给的代码没意义
不好意思 忘贴代码了
简单的来说
如果我知道某一页面的命名
咨询下
我可以判断这个页面已经打开吗
#20
我知道你是什么意思,因为我也在做这个东西。
你想判断一个子窗口是否已经打开了,
如果已打开就给这个窗口发送数据。
如果没有打开就先打开再发送数据。
上面几个人说的是先开一个同名窗口再操作,
但这样做的后果是子窗口的原有信息都丢失了,
所以是不能不判断就开同名窗口的。
很多IT产品网站有 “产品比较”页面,可以让你选几个产品进去比较,原理就有点像这个。
你想判断一个子窗口是否已经打开了,
如果已打开就给这个窗口发送数据。
如果没有打开就先打开再发送数据。
上面几个人说的是先开一个同名窗口再操作,
但这样做的后果是子窗口的原有信息都丢失了,
所以是不能不判断就开同名窗口的。
很多IT产品网站有 “产品比较”页面,可以让你选几个产品进去比较,原理就有点像这个。
#21
有位朋友提到了用 if(窗体!=null) 来判断,我认为这个是正确的办法。
#22
除了用JS没有其它办法!!
#1
用window.open
给他个窗口名
如果已经打开就不会新打开窗口
给他个窗口名
如果已经打开就不会新打开窗口
#2
这里的问题是
判断窗口是否已经打开
而不是防止打开多次
判断窗口是否已经打开
而不是防止打开多次
#3
http://www.cnblogs.com/dahuzizyd/archive/2004/06/22/17879.html
#4
你这个好象不行
谁提供个JS脚本
我自己找了个,但是判断的时候它总是自动打开一个窗口
判断的时候不要这样的
HELP
谁提供个JS脚本
我自己找了个,但是判断的时候它总是自动打开一个窗口
判断的时候不要这样的
HELP
#5
不要用 cookie,session 什么的思路。。
#6
<html>
<script>
var xxx;
function openWindow()
{
xxx = window.open("a.htm","javascript");
}
function closeWindow()
{
if (xxx && xxx.open && !xxx.closed)
{
xxx.close();
}
}
</script>
<input type="button" value = "open" onclick="openWindow()">
<input type="button" value = "close" onclick="closeWindow()">
</html>
<script>
var xxx;
function openWindow()
{
xxx = window.open("a.htm","javascript");
}
function closeWindow()
{
if (xxx && xxx.open && !xxx.closed)
{
xxx.close();
}
}
</script>
<input type="button" value = "open" onclick="openWindow()">
<input type="button" value = "close" onclick="closeWindow()">
</html>
#7
window.open 完全可以达到效果,楼主为什么认死一定要坐火车才能去北京呢,免费的飞机难道不是更好。
用window.open完全可以实现你说的“就象QQ那样,查看信息时候已经弹出窗口了就不用弹了”,而且根本不需要去判断。
用window.open完全可以实现你说的“就象QQ那样,查看信息时候已经弹出窗口了就不用弹了”,而且根本不需要去判断。
#8
这里的问题是
判断窗口是否已经打开
而不是防止打开多次
你判断的目的何在? 照你上面说你判断的目的其实就是要防止多次打开,坐火车去北京,你要做的事难道不是去北京而是坐火车么?
判断窗口是否已经打开
而不是防止打开多次
你判断的目的何在? 照你上面说你判断的目的其实就是要防止多次打开,坐火车去北京,你要做的事难道不是去北京而是坐火车么?
#9
楼上的正解。。。。。LZ应该 去试试不就得了。。。。。。。。。。。。
#10
if 窗体ID!=null
{
//可进行操作,窗体已经打开了
function
}
{
//可进行操作,窗体已经打开了
function
}
#11
多谢各位热情棒场
可能我没说清楚
我的需求就是要判断页面是否打开!!!!具体点的需求如下,这里是即时通信的一部分,如果有新信息,则显示‘有N条新信息’,点击这个提示,依次显示信息,这里就打开新页面了,如果已经打开一个新信息相应页面,那这个新信息就不用显示了,新信息提示在刚刚已经打开的页面。所以要判断某页面是否打开。信息提示我这里用ajax定时刷新,但是就出现这个判断页面打开问题。最好用JS,无奈之极,急着等救命了
可能我没说清楚
我的需求就是要判断页面是否打开!!!!具体点的需求如下,这里是即时通信的一部分,如果有新信息,则显示‘有N条新信息’,点击这个提示,依次显示信息,这里就打开新页面了,如果已经打开一个新信息相应页面,那这个新信息就不用显示了,新信息提示在刚刚已经打开的页面。所以要判断某页面是否打开。信息提示我这里用ajax定时刷新,但是就出现这个判断页面打开问题。最好用JS,无奈之极,急着等救命了
#12
这个问题不知道
帮定了
帮定了
#13
给已经查看的信息加一个标志位,根据标志位判断是不是已经打开,不明白为什么一定要根据页面判断。
#14
代码不是给你了么?
你自己改改就好了啊~~~~`
难道非得别人给你写的一字不差??Faint~~~~
if (xxx && xxx.open && !xxx.closed)
{
//页面已经打开~~~~
}
else
{
xxx = window.open....
}
你自己改改就好了啊~~~~`
难道非得别人给你写的一字不差??Faint~~~~
if (xxx && xxx.open && !xxx.closed)
{
//页面已经打开~~~~
}
else
{
xxx = window.open....
}
#15
我倒 这个答案BAIDU一下能搜索出几百条
如果这样做的话
也就是相当于它自己先弹出自己要判断的页面
再判断 搞笑了。
如果这样做的话
也就是相当于它自己先弹出自己要判断的页面
再判断 搞笑了。
#16
当初我就是这样做的
但不合理
因为如果你判断有几个不同命名页面的话
它会先自动弹出这些页面然后判断
这不是废话吗
但不合理
因为如果你判断有几个不同命名页面的话
它会先自动弹出这些页面然后判断
这不是废话吗
#17
因为如果你判断有几个不同命名页面的话
它会先自动弹出这些页面然后判断
----------
???
什么意思
恕我没看明白
为什么会自动弹出页面然后判断??
我都说了,难道非得别人给你写出现成的代码??
自己难道就不会根据人家写好的改改??
我真服了~~~
它会先自动弹出这些页面然后判断
----------
???
什么意思
恕我没看明白
为什么会自动弹出页面然后判断??
我都说了,难道非得别人给你写出现成的代码??
自己难道就不会根据人家写好的改改??
我真服了~~~
#18
<script>
var xxx;
function clickHref()
{
if (xxx && xxx.open && !xxx.closed)
{
return;
}
xxx = window.open("2.htm");
document.all.aaa.style.display = "none";
}
function ajax()
{
//取信息状态
.............
if (xxx && xxx.open && !xxx.closed)
{
//隐藏信息
document.all.aaa.style.display = "none";
}
else
{
//显示新信息
document.all.aaa.style.display = "";
}
setInterval('ajax()',1000);
}
</script>
<form id="form1" onload="ajax()">
<a name="aaa" href="#" onclick="clickHref()" target="_self">信息</a>
</form>
我理解下来这样基本可以符合要求了
没调试
自己改改
我搞不清楚这样为什么会自动弹出页面~~~~~~~
var xxx;
function clickHref()
{
if (xxx && xxx.open && !xxx.closed)
{
return;
}
xxx = window.open("2.htm");
document.all.aaa.style.display = "none";
}
function ajax()
{
//取信息状态
.............
if (xxx && xxx.open && !xxx.closed)
{
//隐藏信息
document.all.aaa.style.display = "none";
}
else
{
//显示新信息
document.all.aaa.style.display = "";
}
setInterval('ajax()',1000);
}
</script>
<form id="form1" onload="ajax()">
<a name="aaa" href="#" onclick="clickHref()" target="_self">信息</a>
</form>
我理解下来这样基本可以符合要求了
没调试
自己改改
我搞不清楚这样为什么会自动弹出页面~~~~~~~
#19
谢谢
就算没解决问题也给你加分了。。
因为我这个问题的性质不一样
你给的代码没意义
不好意思 忘贴代码了
简单的来说
如果我知道某一页面的命名
咨询下
我可以判断这个页面已经打开吗
就算没解决问题也给你加分了。。
因为我这个问题的性质不一样
你给的代码没意义
不好意思 忘贴代码了
简单的来说
如果我知道某一页面的命名
咨询下
我可以判断这个页面已经打开吗
#20
我知道你是什么意思,因为我也在做这个东西。
你想判断一个子窗口是否已经打开了,
如果已打开就给这个窗口发送数据。
如果没有打开就先打开再发送数据。
上面几个人说的是先开一个同名窗口再操作,
但这样做的后果是子窗口的原有信息都丢失了,
所以是不能不判断就开同名窗口的。
很多IT产品网站有 “产品比较”页面,可以让你选几个产品进去比较,原理就有点像这个。
你想判断一个子窗口是否已经打开了,
如果已打开就给这个窗口发送数据。
如果没有打开就先打开再发送数据。
上面几个人说的是先开一个同名窗口再操作,
但这样做的后果是子窗口的原有信息都丢失了,
所以是不能不判断就开同名窗口的。
很多IT产品网站有 “产品比较”页面,可以让你选几个产品进去比较,原理就有点像这个。
#21
有位朋友提到了用 if(窗体!=null) 来判断,我认为这个是正确的办法。
#22
除了用JS没有其它办法!!