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代码调用。晚上我回家后再找找以前的例子。