TWebBrowser的流程是这样的:
OnBeforeNavigate2 开始链接时会触发此事件
OnNavigateComplete2 成功的链接到此网页(以后才会有下面的事件)
OnDownloadBegin 开始下载
OnDownloadComplete 下载结束
OnDocumentComplete 页面下载完毕
对于每个HTML页面,顺序都是如此.如果是Frame或IFrame的文件都会当成HTML页面处理.也就是说如果一个页面中有3个IFrame,
那么总共会触发4次BeforeNavigate2事件.
OnBeforeNavigate2 开始链接时会触发此事件
OnNavigateComplete2 成功的链接到此网页(以后才会有下面的事件)
OnDownloadBegin 开始下载
OnDownloadComplete 下载结束
OnDocumentComplete 页面下载完毕
对于每个HTML页面,顺序都是如此.如果是Frame或IFrame的文件都会当成HTML页面处理.也就是说如果一个页面中有3个IFrame,
那么总共会触发4次BeforeNavigate2事件.
对于每个连接且需要显示出来的二进制文件(如*.gif,*.bmp,*.jpg...)都会触发一个DownloadBegin和DownloadComplete事件.
更详细参考:
这还不是 TWebBrowser 控件的属性、方法、事件; 这和浏览器中 JavaScript 的 window 对象是基本一致的.
window 对象是网页脚本中的顶层对象, 它代表网页的窗口、或一个框架.
{IHTMLWindow2 属性:} frames //返回窗口中的框架数组 location //返回窗口的 location 对象 history //返回窗口的 history 对象 navigator //返回窗口的 navigator 对象 document //返回窗口的 document 对象 screen //返回 Screen 对象 self //返回当前窗口 window //同 self 属性 top //返回最顶层的窗口 parent //返回父窗口 opener //返回创建此窗口的窗口 closed //窗口是否已被关闭 event //当前事件的状态, 很有用 external //执行外部命令, 譬如加入收藏等 clientInformation //当前浏览器信息 offscreenBuffering //是否使用双缓冲, 就是对象在显示之前是否要先在内存中绘制 Option //可建立 Option 的接口 ? Image //可建立 Image 的接口 ? item //用于获取子框架 ? length //返回窗口中框架的数目 ? name //设置或返回窗口的名称 defaultStatus //设置或返回窗口状态栏中的默认文本 status //设置或返回窗口状态栏中的文本 {IHTMLWindow2 方法:} setTimeout //在指定时间(毫秒)后调用函数或计算表达式 setInterval //按照指定时间周期(毫秒)调用函数或计算表达式 clearTimeout //取消由 setTimeout 的设置 clearInterval //取消由 setInterval 的设置 alert //显示警告框 confirm //显示可以确认或取消的对话框 prompt //用户输入的对话框 showModalDialog //创建并显示 HTML 文档的模式对话框 showHelp //显示帮助文件 navigate //设置新的 URL, 类似 TWebBrowser.Navigate open //打开一个新的浏览器窗口或查找一个已命名的窗口 close //关闭浏览器窗口 focus //获取焦点 blur //移除焦点 moveTo //移动窗口到指定位置 moveBy //移动窗口到相对位置 resizeTo //设置窗口宽度与高度 resizeBy //设置窗口相对的宽度与高度 scrollTo //滚动到指定位置 scrollBy //滚动到相对位置 scroll //同 scrollTo execScript //执行脚本 {IHTMLWindow2 事件:} onload //装载完成后触发 onunload //退出时触发 onbeforeunload //退出时触发, 会发生在 onunload 之前, 如果还想后头应该用这个 onhelp //显示帮助时触发 onfocus //获得焦点时触发 onblur //失去焦点时触发 onerror //错误时触发 onresize //改变大小时触发 onscroll //滚动时触发 {IHTMLWindow3 方法:} attachEvent //绑定事件 detachEvent //取消事件绑定 setTimeout //在指定时间(毫秒)后调用函数或计算表达式 setInterval //按照指定时间周期(毫秒)调用函数或计算表达式 print //打印 showModelessDialog //创建一个显示HTML内容的非模态对话框 {IHTMLWindow3 属性:} screenLeft // screenTop // clipboardData //剪切板数据 {IHTMLWindow3 事件:} onbeforeprint //打印前 onafterprint //打印后 {IHTMLWindow4 方法:} createPopup //创建弹出菜单 {IHTMLWindow4 属性:} frameElement //获取窗口所在的框架对象