VB.NET浏览器第7坑 浏览器的后退按钮

webbrowser控件自带后退接口,方法是:

WebBrowser1.GoBack()

但是有一个问题,比如像百度搜索结果中的链接A,点击后其实是跳转到另一个网页B。这种情况下点击后退会退回链接A,但是链接A的功能就是跳转到网页B,于是又跳回了网页B。在用户看来,点了后退按钮页面闪烁了一下,但是并没有退。

真正的浏览器并没有这个问题,因为搜索结果页是在新窗口打开的,这个页就是新窗口的第一页所以不存在后退的问题;而我们的这个浏览器因为尚未完成多窗口、多标签功能,所以强行在当前页显示页面才出现了这个问题,解决方法就是:

我通过list实现了一个队列,在发现上一页是百度跳转页的情况下就连续跳两页,即:越过链接A,直接到搜索结果页。代码的具体实现我写的不好,就不献丑了。