`
Yarhhome
  • 浏览: 47698 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论
  • Yarhhome: tpsnake 写道大哥,你的帖子没让我折服,你的 头像让我折 ...
    禁止缓存
  • tpsnake: 大哥,你的帖子没让我折服,你的 头像让我折服了
    禁止缓存

关于退出页面时作出动作(清除Session或删除痕迹)

阅读更多
这个问题搞了三天多,最后竟然是忘记了最基本的,导致浪费太多时间,所以记录一下:
由于在网页上显示图片时,需要从数据库中读出数据,然后把数据保存在服务器端,再然后再给页面的asp:image控件的imageurl赋值。
这就产生一个问题,临时保存的图片必须删除,否者时间一长,图片会十分多。

考虑了不少方案--
1。在每次进入这个页面时,把文件夹下的所有jpg图像删除
      这个方案在单线程时是不错的实现,简单方便,但当有多个人同时使用该页面时,就不可行了。
  
2。在退出时,先把图片删除,然后翻页面跳转
      这两天都是在这个方案上找突破,最后放弃了。。。。。
      首先,onunload的使用。因为当页面跳转或刷新时,页面会先调用onunload,所以可能是一个解决方案。但这个过程在很多时机都会调用,页面进入时,按钮点击时,页面刷新时,页面退出时,页面跳转时。所以,要先排除掉页面进入与按钮点击两个时机。排除按钮点击可以用event.clientX(or Y)来作出判断,页面进入时,不管了。
      代码是:
//    var x;
//    var y; 
//    document.onmousemove=function (){
//    x=event.clientX;
//    y=event.clientY;  
//    document.all.text.value=x+"    "+y;
//   
//}

// window.onunload = aaa;
//function aaa(){
//    var button = document.getElementById('<%=Button2.clientid%>');
//    alert(button);
//    if(x<40||y<40)
//        button.click();
//    }

     这是会出现一个新的问题,click函数。asp .net的机制中,每当按钮点击事件触发,页面会给服务器发送请求,然后服务器会向用户发送一个新的页面。因为这样,click函数会把页面跳转的动作覆盖了(指引起onunload函数的调整动作),这个方法因此行不通。

     在杨毅师兄的提醒下,记起原来自己每次打开有关浏览图片的页面时,都是使用 showModalDialog来弹出,所以,删除图片的动作完全可以在父页面进行,具体流程如下:
在显示图片的页面中,要保留生产的图片的绝对位置,当退出 showModalDialog 时,在 父页面继续运行按钮(触发弹出 showModalDialog的按钮)的处理代码(弹出的代码是按钮的onclick函数加入的),在此处才真正把临时图片删除掉,任务完成
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics