请教高手:一个JS的问题 急 100+100相送

CnPower 2004-12-01 10:43:40
本贴分不够 可+贴
我想要的目的是
用JS每秒刷新读取XML一次 会得到一个结果 1 或者 0 message=0 or message=1
我想
function fun(){
if (message=1)
{
alert("提示:管理后台已经更新!");
self.parent.mainFrame.document.location="A.asp";
self.parent.leftFrame.document.location="B.asp";
//那两个是框架文件
}
}
setInterval("fun();",1000);

'----------------以上的代码都是正常的.
也就是当 message=1 的时候是能够正常转入的.
但我那个函数是 每秒刷新一次 那就是每秒载入一次.........
我想要的效果是 能不能只载入一次后 就不再进行刷新 也就是不再去获得XML的值了
因为这个效果我只用一次
我想过用cookies session 等 办法 但都不能完成 因为我根本不懂怎么写..
希望高手帮我解答.
...全文
132 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuegudu 2004-12-02
  • 打赏
  • 举报
回复
在跳转的时候加一条件.
x.asp?action=ok

然后 if request("action")="ok" then
session.....
lienzhu 2004-12-02
  • 打赏
  • 举报
回复
<% if session("num")="" then%>
function fun(){
if (message=1)
{
alert("提示:管理后台已经更新!");
self.parent.mainFrame.document.location="A.asp";
self.parent.leftFrame.document.location="B.asp";
//那两个是框架文件
}
}
setInterval("fun();",1000);
<%
session("num")=1
end if
%>
CnPower 2004-12-01
  • 打赏
  • 举报
回复
恩 效率是低了些 不过无关系 不是大型网站使用.

目的就是后台在做了更改以后 前台给出提示 并做出反映.
比如屏蔽掉一些功能.
CnEve 2004-12-01
  • 打赏
  • 举报
回复
JS又是全局的,实现起来好难,不知你要实现什么。
这样做效率的确是很低的,不如说说你的目的呀
ccton 2004-12-01
  • 打赏
  • 举报
回复
基本上,建议使用setTimeout. 在setTimeout之前进行判断,需要读取再设定时,不需要就不设了。

over!
ccton 2004-12-01
  • 打赏
  • 举报
回复
clearInterval
sdts 2004-12-01
  • 打赏
  • 举报
回复
这样效率会很低吧
CnPower 2004-12-01
  • 打赏
  • 举报
回复
是XML如果有变动 就跳转页面 停止读取XML中的内容
XML中的内容 只有一个节点 值默认为1 (这时候JS一直读取XML中的内容)
一旦XML中的内容变更为0 (则跳转页面 停止读取XML)
CnPower 2004-12-01
  • 打赏
  • 举报
回复
我的意思就是 让那段JS代码一直无闪刷新 读取XML中的值
一旦XML中的值为1 那么就跳转页面 并停止执行这段JS.

PS:JS是在所有页面都包含的 这个没得解 是必须的. 也就是说跳转后的页也是一直存在这段JS
只是不读XML的内容 也不再继续跳转了
CnEve 2004-12-01
  • 打赏
  • 举报
回复
你的意思是:若xml有变动 则message=1 ELSE message=0
??
CnEve 2004-12-01
  • 打赏
  • 举报
回复
不太理解楼主的构思
CnPower 2004-12-01
  • 打赏
  • 举报
回复
因为前台并没有刷新的动作
而JS一直刷新 只能读取到XML文件的变动
CnPower 2004-12-01
  • 打赏
  • 举报
回复
TO:楼上
这样并不可以,因为 session("num")永远都是空的.
永远都没有触发 else 的可能....
lienzhu 2004-12-01
  • 打赏
  • 举报
回复
<% if session("num")="" then%>
function fun(){
if (message=1)
{
alert("提示:管理后台已经更新!");
self.parent.mainFrame.document.location="A.asp";
self.parent.leftFrame.document.location="B.asp";
//那两个是框架文件
}
}
setInterval("fun();",1000);
<%
else
session("num")=1
end if
%>
caojinrong 2004-12-01
  • 打赏
  • 举报
回复
up
CnPower 2004-12-01
  • 打赏
  • 举报
回复
注意 以上代码都是被我简化了的 .

不过目的都一样 我想那个自刷新的函数 在跳转框架文件后就不再刷新了.

但问题是这个JS函数 必须包含在所有页面中 也就是转入的那两个框架文件同样是存在这段代码的.

28,409

社区成员

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

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