打开一个HTML页面的几种情况

一:几种打开情况
在浏览器中打开一个HTML页面有以下几种情况:
1 在同一个标签中通过链接转跳到另外一个页面。
2 在地址栏中输入地址,然后navigate。
3 通一个标签中使用"前进" "后退"来完成一个页面的转跳。
4 一个标签的中的连接在另外一个标签中打开。
5 拖拽一个连接到TAB标签上页面,这时在新标签中打开。
6 拖拽一个连接到TAB页面,这时在当前标签中打开。
7 从外部通过命令行的方式来打开。

// 还未添加
切换渲染器的过程


二:程序执行流程
把上面的几种情况抽象一下可以得出以下几种类型:
1 在同一个标签内的跨站点请求。
2 在同一个标签的非跨站点请求。
3 另外开启一个标签的请求。


第一种情况的流程如下(这个过程会跟踪到渲染器的webkit中):
1:创建一个penging的NavigationEntry* pending_entry_。
2:创建一个penging的RenderViewHost* pending_render_view_host_。
3:创建一个和pending_render_view_host_关联的本地窗口RenderWidgetHostViewWin。
4:pending_render_view_host_(RenderViewHost)的NavigateToEntry中配置 ViewMsg_Navigate_Params 类型的一个参数,传递到渲染进程。
5:渲染进程开始发送加载WebFrame* main_frame 的内容的消息。
6:


三:修改原则
一个网站只用一种渲染器来打开
切换渲染器时,以前的打来列表依然存在(就是每个TAB的历史记录)。

四:几种打开新网页的代码入口点
1:后退,前进
2:在一个网页里面打开一个新的网页TAB
3:在一个网页中同一个标签中打开一个网页
4:在地址栏中打开一个新的网页
5:用户拖拽到浏览器中,在目前的标签中打开新的连接。
6:刷新一个页面。
7:打开一个非TAB的单页面。
8:手工切换渲染引擎。


五:进度
1:从new tab缩略图页面打开连接打一个页面。
void TabContents::RequestOpenURL(const GURL& url, const GURL& referrer,
                                 WindowOpenDisposition disposition)


2:从前”后退,前进“条打开一个页面
3:主页按钮。
4:从地址栏打开一个页面。
5:从当前页面打开一个连接,这个链接在新的TAB页面打开。
void TabContents::AddNewContents(TabContents* new_contents,
                                 WindowOpenDisposition disposition,
                                 const gfx::Rect& initial_pos,
                                 bool user_gesture,
                                 const GURL& creator_url)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值