• 给人讲快一年前的代码,突然看到一段,忘了为什么这么实现的,自己看了下注释才想起来


     给人讲快一年前的代码,图看看到web页面的回退处理。。。一愣神 忘了怎么处理页面深度的了   看来有注释还是很有用的

     1 void webBrowser_Navigated(object sender, NavigationEventArgs e)
     2         {
     3             if (backKey == false)
     4             {
     5                 pageStackCount += 1;
     6             }
     7             else
     8             {
     9                 backKey = false;
    10             } 
    11         }
    12 
    13         protected override void OnBackKeyPress(CancelEventArgs e)
    14         {
    15             if (pageStackCount > 1)
    16             {
    17                 e.Cancel = true;
    18                 WebBrowerBackKey();
    19             }
    20             else
    21             {
    22                 base.OnBackKeyPress(e);
    23             }
    24         }
    25 
    26         public void WebBrowerBackKey()
    27         {
    28             backKey = true;
    29             pageStackCount -= 1;
    30 
    31             webBrowser.InvokeScript("eval", "history.go(-1)");
    32         }
    View Code

     光看代码半天没看懂  看了下自己写的注释 还好想起来了

    OnBackKeyPress  系统物理键返回处理,里面处理是否应该执行页面跳转还是,web页面中的跳转

    WebBrowerBackKey  实际处理页面跳转,此处使用js,这是要打开IsScriptEnabled 属性

    webBrowser_Navigated  webBrowser跳转事件监听,自己维护页面深度,如需做页面缓存,可以在此处维护一个页面的集合

    backKey 用来判断页面在前进还是后退,控制堆栈的增减

    一个很简单的 网页控制页面回退的处理

  • 相关阅读:
    类的继承
    垃圾回收GC
    网络层
    数据链路层
    TCP/IP协议分层模型
    OSI参考模型
    浏览器访问一个域名的过程
    Thread&ThreadLocal
    设计模式---单例模式
    内存泄漏和内存溢出
  • 原文地址:https://www.cnblogs.com/liumianweifeng/p/3640184.html
Copyright © 2020-2023  润新知