易语言利用WebKit打造你的HTML5浏览器

第一期使用命令介绍:

类:

(CefApp): 与进程,命令行参数,代理,资源管理相关的回调类

(CefBrowserProcessHandler): 用于接收进程相关的回调通知。

(CefClient): 回调管理类,主要是用于向浏览器反回我们需要接管哪些功能的类。

(CefLifeSpanHandler):浏览器的运行管理类,包含当浏览器创建完成之后,浏览器被关闭等通知

(CefMainArgs): 数据类,用于设置当前应用实例句柄的。

(CefSettings): 数据类,用于设置一些浏览器整体的基本信息

(CefWindowInfo): 数据类,用于设置一些浏览器的窗口信息

(CefBrowserSettings): 数据类,用于设置一些浏览器的基本信息

用到的类命令:

返回值 (CefBrowserProcessHandler) = (CefApp).GetBrowserProcessHandler()  '获取一个用于管理浏览器进程的类

返回值 空= (CefBrowserProcessHandler).OnContextInitialized()  '回调通知函数,告诉我们浏览器已经准备就绪了。

返回值 (CefLifeSpanHandler) = (CefClient).GetLifeSpanHandler()  '向浏览器返回我们用于接管浏览器进程的类

返回值 空 = (CefLifeSpanHandler).OnAfterCreated()  '回调通知函数,用于告诉我们,当前有一个新的浏览器创建好了

返回值 空 = (CefLifeSpanHandler).DoClose()  '回调通知函数,貌似是表示所有浏览器都关闭之后,Cef上有一大段注释,但是TM始终看不明白…

返回值 空 = (CefLifeSpanHandler).OnBeforeClose()  '回调通知函数,用于告诉我们,当前有一个浏览器被关闭了

返回值 空 = CefMainArgs.Load()  '数据类函数,用于设置当前当前应用的实例句柄

返回值 空 = CefSettings.SetAsSingleProcess()  '数据类函数,是否使用单进程运行浏览器, 1.单进程运行 0.多进程运行。默认是以多进程运行的。

返回值 空 = CefSettings.SetAsNoSandbox()  '数据类函数,是否关闭沙盘功能

返回值 空 = CefSettings.SetAsRemoteDebuggingPort()  '数据类函数,设置远程调试端口

返回值 空 = CefWindowInfo.SetAsChild()  '数据类函数,设置浏览器窗口为子窗口

通用类命令:

(All).AddRef()  '给这个函数所属的类增加一次引用计数

(All).Release()  '给这个函数所属的类释放一次引用计数

(All).HasOneRef()  '判断当前这个类是不是第一次被引用

(All).Wrap()  '实际上《Hello WebKit》框架的类都是以一种接近于C++类的存在,为了能给浏览器使用,我们必须要将这个类转换为近似于C的类。这个函数就有这样的作用

(All).Unwrap()  '从C类中取回我们的C++类

(All).ToCpp__() '导入或取出由浏览器提供的类指针或者数据指针

通用命令:

CefBrowserHostCreateBrowserSync()  '创建一个新的浏览器,成功返回浏览器类CefBrowser.

CefExecuteProcess()  '初始化浏览器进程

CefInitialize()  '全初始化,该函数执行完成之后,(CefBrowserProcessHandler).OnContextInitialized() 将收到通知

CefRunMessageLoop()  '浏览器进程消息循环

CefShutdown()  '浏览器进程结束

CefQuitMessageLoop()  '向所有(多进程下)浏览器进程发送结束通知

REQUIRE_UI_THREAD()  '调试函数,用于检查执行到该函数位置的线程/进程是否为UI线程/进程,如果不是将被中断下来

CEF_BROWSER_RELEASE()  '释放一次浏览器的引用计数

第二期使用命令介绍:

(CefDisplayHandler): 与浏览器状态显示相关的类

(CefBrowser): 浏览器类,用于控制或者取得浏览器的相关信息,最常用的类

(CefBrowserHost): 浏览器窗口类,用于控制或者取得浏览器窗口的相关信息,最常用的类

(CefFrame): 浏览器框架类,用于控制或者取得浏览器框架的相关信息,最常用的类,后期对网页的各种操作都由这个类来操作,包括javascript脚本的执行

(CefString): 字符串类,与字符串操作相关的类,最常用的类

用到的类命令:

返回值 (CefDisplayHandler) = (CefClient).GetDisplayHandler()  '回调通知函数,向浏览器返回我们用于接管浏览器状态信息的类

返回值 空 = (CefDisplayHandler).OnAddressChange()  '回调通知函数,当浏览器地址发生改变时

返回值 空 = (CefDisplayHandler).OnTitleChange()  '回调通知函数,当浏览器标题发生改变时

返回值 空 = (CefDisplayHandler).OnStatusMessage()  '回调通知函数,当鼠标放置于热点或者链接上时

返回值 逻辑型 = CefBrowser.CanGoBack()  '当前浏览器是否可以后退

返回值 空 = CefBrowser.GoBack()  '浏览器退回上一个网页

返回值 逻辑型 = CefBrowser.CanGoForward()  '当前浏览器是否可以前进

返回值 空 = CefBrowser.GoForward()  '浏览器前进到上一个网页

返回值 空 = CefBrowser.Reload()  '重新载入网页

返回值 空 = CefBrowser.StopLoad()  '停止载入网页

返回值 CefFrame = CefBrowser.GetMainFrame()  '取出当前浏览器的主网页框架类

返回值 CefBrowserHost= CefBrowser.GetHost()  '取出当前浏览器的窗口类

返回值 空 = CefFrame .LoadURL() '浏览一个新的URL

返回值 空 = CefBrowserHost.NotifyMoveOrResizeStarted() '通知浏览器需要调整窗口大小了

返回值 窗口句柄 = CefBrowserHost.GetWindowHandle() '取得浏览器的窗口句柄

返回值 字符串指针 = CefString.ToCpp__() '取出字符串指针

返回值 空= CefString.FromASCII() '从文本载入指针

返回值 空 = CefString.CopyI() '引用一个由系统提供的字符串指针

返回值 空 = CefString.CopyT() '复制一个新的Cef字符串

返回值 空 = CefString.ToString() '取出文本

——————————————————————————————————————————————————–

第二期,接着上期我们创建的浏览器,来继续完善它。

今天要给浏览器加上的功能:

前进,后退,刷新,浏览 等导航功能

显示网页标题功能

显示当前访问网址功能

显示鼠标指向链接功能

适应拖动窗口大小功能

相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

易语言利用WebKit打造你的HTML5浏览器》有0个想法

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注