首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

intraweb如何把前台脚本和按钮联系起来

2012-03-01 
intraweb怎么把前台脚本和按钮联系起来?我需要在网页关闭时自动执行退出按钮事件,从网上查了很多资料,都说

intraweb怎么把前台脚本和按钮联系起来?
我需要在网页关闭时自动执行退出按钮事件,从网上查了很多资料,都说添加一个IWText,然后以rawText形式插入到网页内部,可是关键的语句都给忽略了.例如: http://apps.hi.baidu.com/share/detail/22791587
用intraweb开发(appmode)时,不可避免的要涉及到“session管理”,如果将sessiontimeout设置太短,那么有可能用户继续工作时session已经释放,用户可能还没有保存数据呢;如果sessiontimeout设置太长,考虑到多用户并发操作,会如何呢?网页上有退出按钮,如果用户每次退出浏览器时先点击该按钮,那么服务器上不会有太多session,可是很多用户直接关闭浏览器(就是将浏览器X掉),这时服务器端不知道“用户已经走了”,依然为它保留着session,这样可能导致服务器超载。如果用户关闭浏览器的时候服务器能够知道就好了
  目标:页面被关掉的时候,服务器的session释放。
  思路:第一步:假如页面上有个按钮,点击该按钮,session释放,这是很简单的。 
  第二步:为页面的body写onunload事件,该事件调用按钮的代码。
  步骤1:在窗体上放置一个按钮IWBUTTON1,它负责释放session,代码:
  procedure TformMain.IWButton1Click(Sender: TObject);
  begin
  webapplication.Terminate();
  end;
  步骤2:在窗体上放置一个IWText空间,其属性设置如下:
  rawText=true;
  wantReturns=false;
  然后在IWText的lines里填写这样的代码:
   
  其中的SubmitForm.IWBUTTON1.value='hi';是必须的,不可省略
  好了!当页面关闭时,相当于点击了那个按钮,于是服务器端的session就释放了。这样你就不用担心session停留时间太长了,你可以将sessiontimeout设置很长时间了,比如300分钟,反正只要该页面关闭,对应的session就释放。



  在IWText到底写什么,都找不到资料,我(不懂html),看了一下intraweb的网页源代码,参考一些资料写了一个脚本:
  <script type="text/javascript"> 
  window.onunload=function(){
  SubmitForm.IWBUTTON2.value='hi';
  }
  </script>
  可是没有实现功能,现在请各位老大,帮帮忙,怎么能够实现,网页关闭时执行我的一个后台按钮事件程序.

[解决办法]
我曾经研究过这个问题,在JSEvent中写点代码会起些作用,但是似乎功能不是太强大(也许我还没有找到方法),只能实现为数不多的一些js代码调用。晚上我回家后再找找以前的例子。

热点排行