青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

Chromium Embedded Framework中文文檔之(基本使用)

轉載自:http://www.cnblogs.com/think/archive/2011/10/06/CEF-genericUsage.html

一般用法

使用CEF便捷的創建一個全功能的內建瀏覽器如下所示:

// Define an instance of our CefHandler implementation. Various methods in the MyHandler // instance will be called to customize browser behavior.  CefRefPtr<CefHandler> handler(new MyHandler()); // Provide information about the parent window, client rectangle, etc. CefWindowInfo info = {...}; // Create the new browser window object, which eventually results in a call to // MyHandler::HandleAfterCreated(). CefBrowser::CreateBrowser(info, false, handler, L"http://www.google.com");

在tests目錄下有一個客戶端程序的示例,叫cefclient。

文件結構

CEF資料庫結構如下:

  • include -- 包括用于CEF客戶端程序的include文件。
  • libcef -- libcef實現。
  • libcef_dll -- libcef C API 和 DLL 實現.
  • tests -- 測試程序.
    • cefclient -- CEF客戶端應用程序示例。
    • unittests -- CEF接口單元測試。

瀏覽器通知

瀏覽器通知是通過注冊的委托接口由瀏覽器發到客戶端程序的通知, CefHandler是最主要的委托接口, CefJSHandler則用于實現自定義的Javascript對象。

CefHandler支持以下接口:

  • 窗口創建之前 (HandleBeforeCreated),客戶端可用之取消與定制瀏覽器窗口創建過程。
  • 窗口創建之后(HandleAfterCreated). 可用于創建自定義的CefJSHandler對象。
  • 地址欄更新(HandleAddressChange). 將地址欄更改為指定的字符串,通知發生于導航提交后與頁面加載前。
  • 標題更新(HandleTitleChange). 將標題更改為指定的字符串,發生在頁面加載中。
  • 瀏覽前(HandleBeforeBrowse). 可用于取消導航,該事件的信息包括URL,Post數據,請求頭.
  • 開始加載(HandleLoadStart). 
  • 加載結束 (HandleLoadEnd). 
  • 加載錯誤(HandleLoadError). 加載過程中遇到錯誤,應用程序可提供自定義的錯誤頁面.
  • 資源加載前 (HandleBeforeResourceLoad). 應用程序可提供替代的數據源 (比如內存中的緩存)或者取消加載.
  • 顯示菜單前(HandleBeforeMenu). 可用于取消上下文菜單顯示或定制菜單,默認情況下,瀏覽器根據上下文顯示基本的菜單.
  • 獲取菜單標簽(HandleGetMenuLabel).在默認菜單顯示前,每個菜單項調用一次,可用于將英文默認內容改為其它語言.
  • 菜單動作(HandleMenuAction). 用戶從默認上下文菜單選擇了一個選項,可用自己的方式來處理動作。
  • 打印選項(HandlePrintOptions). 打印設置對話框顯示前調用,可用于定制頁面大小、方向與邊距等.
  • 打印頁眉頁腳 (HandlePrintHeaderFooter). 在頁面視圖輸出到打印上下文,但是頁面結束前,可在預定義的6個位置(上左、上中、上右、下左,下中,下右)插入自定義的頁眉、頁腳字符串。該事件附帶的信息包括當前URL、標題、頁碼、總頁數、打印上下文、頁邊距與DPI拉伸比.
  • JavaScript警告 (HandleJSAlert). 應用程序可自定義Javascript Alert窗口.
  • JavaScrip確認 (HandleJSConfirm). 應用程序可自定義Javascript Comfirm窗口
  • JavaScrip提示 (HandleJSPrompt). 應用程序可自定義Javascript Prompt窗口
  • JavaScript Window 對象綁定 (HandleJSBinding). 應用程序將用戶定義的方法和變量附加到frame的window對象上
  • Window關閉前 (HandleBeforeWindowClose). 窗口關閉前
  • 獲得焦點(HandleTakeFocus). 瀏覽器組件失去焦點前調用
  • 設置焦點(HandleSetFocus). 瀏覽器組件請求焦點前調用
  • 鍵盤事件(HandleKeyEvent). 瀏覽器組件接收到鍵盤事件時
  • 提示 (HandleTooltip). 用于修改tooltip文字
  • 控制臺消息 (HandleConsoleMessage). 用于顯示控制臺消息.
  • 查詢結果(HandleFindResult).用于自定義查找結果顯示處理

CefV8Handler支持以下通知:

  • 執行事件(Execute). 應用程序執行指定的函數,該事件提供所有的Javascript參數,而且應用程序能指定返回值

瀏覽器事件

瀏覽器事件由客戶端應用程序通過CefBrowser和CefFrame的函數發送給瀏覽器:

  • 后退、前進、重新加載與停止加載,用于控制瀏覽器導航.
  • 撤消、重做、剪切、復制、粘貼、刪除、全選,用于控制目標區域內容.
  • 打印. 打印目標框架.
  • 查看源代碼. 將目標框架的HTML源代碼保存到臨時文件,并用默認的文本查看程序打開之
  • 加載URL. 在指定框架中加載指定URL
  • 載入字符串. 根據一個假URL在指定框架中加載某個字符串
  • 加載流. 根據一個假URL,在指定框架中加載二進制數據
  • 加載請求. 在指定框架中加載請求(URL, method, request data 與 headers) .
  • 執行腳本. 在目標框架中執行任意Javascript命令

內嵌 NPAPI 插件

CEF支持創建Netscape-style內嵌插件,使用相同 NPAPI的內嵌插件和標準的DLL插件行為相同,但是,相對于使用獨立的DLL,內嵌插件由容器應用程序創建,并通過調用CefRegisterPlugin()注冊到系統,如果要直接使用這一功能,需要include cef_nplugin.h .

JavaScript擴展

CEF支持可以和原生應用程序代碼交互的Javascript擴展,參見cef.h的CefRegisterExtension() 函數和cefclient示例程序的"JavaScript Extension Handler" 以及 "UI App Example" 測試 .

自定義Schemes

CEF支持注冊與處理自定義scheme,類似于myscheme://mydomain。參見cef.h中的CefRegisterScheme()函數與示例應用程序cefclient中的 "Scheme Handler" 測試.

框架實現概覽

CEF所有的類以Cef為前綴.

框架準備與拆卸

UI消息循環由框架創建的一個單獨線程處理,客戶端程序應負責通過分別調用CefInitialize()和CefShutdown() 來為每個進程準備與關閉這一線程。

引用計數

所有實現了CefBase接口的框架類與對象指針都由CefRefPtr智能指針實現來處理,通過調用AddRef()和Release()自動處理引用計數。

平臺無關

CEF框架被設計成平臺無關,需要當前我們僅支持windows平臺,但是我們計劃將來支持其它平臺。為了盡可能減少雙平臺支持帶來的麻煩,框架定義了一系列實現無關的接口與類型定義包裝跨平臺的行為。

線程安全

框架的所有接口實現必須是跨線程訪問安全的,CefThreadSafeBase 模版提供原子的AddRef() 和 Release() 實現,還提供Lock() 和 Unlock()方法以同步方式訪問代碼塊.

框架接口

框架定義了如下接口:

  • CefBrowser 是主要的瀏覽器host類,通過它的靜態方法CefBrowser::CreateBrowser()方法創建新瀏覽器窗口.
  • CefFrame 表示瀏覽器窗口里的一個框架(frame),每個瀏覽器窗口都有一個頂級的主框架,可通過CefBrowser::GetMainFrame()方法訪問之.
  • CefHandler 是傳給CefBrowser::CreateBrowser()方法的最主要委托接口.
  • CefRequest 表示請求數據,比如url, method, post data 和 headers.
  • CefPostData 和 CefPostDataElement 表示可能是請求一部分的post數據.
  • CefSchemeHandlerFactory 和 CefSchemeHandler 用于處理像myscheme://mydomain這樣的自定義scheme.
  • CefStreamReaderCefStreamWriterCefReadHandler 和 CefWriteHandler 讀寫數據的簡單的接口.
  • CefV8Handler 和 CefV8Value 用于創建和訪問Javascript對象.

posted on 2012-08-10 14:34 楊粼波 閱讀(6049) 評論(0)  編輯 收藏 引用 所屬分類: 網絡編程C++

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            激情亚洲网站| 久久久久久亚洲精品中文字幕 | 欧美日本不卡| 99精品热视频| 亚洲麻豆视频| 国产精品不卡在线| 欧美一级日韩一级| 欧美中文在线观看| 亚洲国产老妈| 野花国产精品入口| 国产欧美婷婷中文| 欧美国产激情二区三区| 欧美日本亚洲韩国国产| 亚洲影院在线| 久久精品一区二区国产| 日韩写真在线| 欧美一级片一区| 亚洲激情校园春色| 艳女tv在线观看国产一区| 国产亚洲精品久| 亚洲国产小视频| 欧美屁股在线| 久久综合九色99| 欧美日韩精品免费观看视一区二区| 亚洲欧美激情一区二区| 久久国产一区二区| 亚洲精品少妇30p| 性欧美长视频| 一个色综合导航| 久久成人资源| 亚洲综合精品自拍| 免费日韩视频| 久久精品国产亚洲高清剧情介绍| 欧美国产视频在线观看| 久久久久久久久久久久久女国产乱 | 欧美高清视频www夜色资源网| 欧美日韩亚洲国产一区| 久久五月激情| 国产精品久久久久久超碰 | 狠狠色丁香久久婷婷综合_中| 亚洲国产欧美日韩另类综合| 国产人成一区二区三区影院| 亚洲精品在线看| 在线精品高清中文字幕| 亚洲欧美另类中文字幕| 99riav1国产精品视频| 久久成人国产| 香蕉久久国产| 欧美日韩一级视频| 亚洲激情专区| 最近中文字幕日韩精品| 久久久久99| 久久久久久久久久久一区| 国产精品色午夜在线观看| 亚洲日本中文字幕| 亚洲人体1000| 美女91精品| 另类春色校园亚洲| 国内精品久久久久影院优 | 欧美国产综合视频| 一区二区在线看| 久久精品男女| 久久综合狠狠| 在线观看视频一区| 久久影视精品| 欧美成人四级电影| 揄拍成人国产精品视频| 久久深夜福利免费观看| 欧美成人精品在线播放| 亚洲第一久久影院| 久久亚洲一区二区| 欧美国产大片| 这里只有视频精品| 国产精品久久久久影院亚瑟| 亚洲一区二区精品在线| 欧美在线啊v一区| 国产一区二区三区高清| 久久精品一区二区| 亚洲高清av在线| 宅男噜噜噜66一区二区| 国产老女人精品毛片久久| 亚洲欧美视频一区二区三区| 欧美在线观看天堂一区二区三区| 国产午夜一区二区三区| 欧美在线观看www| 欧美激情成人在线| 99精品国产高清一区二区| 欧美吻胸吃奶大尺度电影| 亚洲资源在线观看| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲国产天堂久久综合网| 欧美国产日本在线| 亚洲一区二区综合| 狼人天天伊人久久| 一区二区三区高清视频在线观看| 国产精品视频不卡| 久久午夜羞羞影院免费观看| 99re热精品| 久久久久久久97| 9色国产精品| 国产自产v一区二区三区c| 欧美国产先锋| 亚洲欧美日本伦理| 亚洲福利在线视频| 久久精品国产91精品亚洲| 亚洲日韩欧美视频一区| 国产欧美日韩在线播放| 欧美α欧美αv大片| 久久成人免费| 99精品免费视频| 黄色另类av| 国产精品久久久久av免费| 蜜臀91精品一区二区三区| 亚洲视频观看| 亚洲国产欧美一区| 久久免费精品视频| 亚洲欧美一区二区三区在线| 亚洲激情欧美激情| 国内成人精品视频| 国产精品免费观看视频| 欧美黑人在线观看| 久久蜜臀精品av| 欧美一区二区三区在线看| 一本色道久久综合亚洲二区三区| 欧美成人a视频| 久久亚洲私人国产精品va| 亚洲欧美日韩在线综合| 一本大道久久精品懂色aⅴ | 国产精品在线看| 欧美日韩在线播放一区| 欧美成人日韩| 欧美gay视频激情| 久久久综合网| 久久久久久久久岛国免费| 亚洲欧美一区二区原创| 一本久道综合久久精品| 亚洲伦理精品| 亚洲精品日韩在线观看| 亚洲欧洲日本专区| 亚洲黄色影院| 国产精品毛片a∨一区二区三区|国 | 亚洲第一二三四五区| 欧美电影美腿模特1979在线看| 久久久久久999| 久久先锋资源| 免费毛片一区二区三区久久久| 久久亚洲精品伦理| 欧美二区乱c少妇| 欧美激情国产日韩| 亚洲经典在线| 99在线|亚洲一区二区| 中文av一区特黄| 亚洲欧美日韩综合国产aⅴ| 久久成人18免费网站| 久久综合九色| 欧美精品v国产精品v日韩精品 | 亚洲私人影院在线观看| 亚洲男女自偷自拍| 欧美在线观看一区| 裸体丰满少妇做受久久99精品| 欧美a级片网| 国产精品免费aⅴ片在线观看| 国产区欧美区日韩区| 精品动漫3d一区二区三区免费| 在线看成人片| 一本久道久久久| 欧美亚洲视频在线观看| 久久久久网站| 亚洲级视频在线观看免费1级| a4yy欧美一区二区三区| 羞羞答答国产精品www一本 | 亚洲午夜一区| 久久久久www| 欧美日韩国产小视频| 国产欧美日韩精品a在线观看| 在线看一区二区| 一区二区免费看| 国产精品黄视频| 国内精品福利| 亚洲一区在线直播| 欧美a级理论片| 亚洲视频在线一区| 免费久久99精品国产自| 国产精品久久久久三级| 欧美不卡一区| 国产欧美日韩综合精品二区| 最新亚洲电影| 久久久精品网| 一本到12不卡视频在线dvd| 久久人人97超碰国产公开结果| 欧美日韩综合在线免费观看| 国内精品久久久久影院优| 亚洲婷婷综合色高清在线| 美女网站久久| 亚洲欧美在线播放| 欧美日韩在线电影| 亚洲人久久久| 欧美高清一区二区| 久久不射网站| 国产欧美日韩综合|