Xilium CefGlue 利用XHR實現JS調用C#方法

http://www.wa.com/26359.htmlhtml

 

引言:Xilium CefGlue是個不錯的cef擴展工程,託管地址在這裏 https://bitbucket.org/xilium/xilium.cefglue/wiki/Homeweb

固然它還有不少工做要作,這裏介紹一下怎樣利用XHR實現Js調用c#方法。代碼已經在官方Demo裏,只是沒有中文資料,英文資料也幾乎沒有,這裏只是把它挖出來說一下,本人毫無技術含量。ps:感謝熱心的@dmitry.azaraev郵件耐心回覆。c#

本文參考自 http://www.cnblogs.com/liulun/archive/2013/03/18/2874276.html,建議先閱讀該系列教程。瀏覽器

什麼是XHRdom

XMLHttpRequest (XHR) is an API available to web browser scripting languages such as JavaScript. It is used to send HTTP or HTTPSrequests to a web server and load the server response data back into the script.[1] Development versions of all major browsers support URI schemes beyond http: and https:, in particular, blob: URLs are supported.[2]函數

在這裏,XHR能夠向CefGlue瀏覽器發送請求,並接收回復,簡單的字符串便可經過Post傳遞,若是是複雜對象,能夠使用Json轉換後傳遞。spa

CefGlue提供的APIserver

RegisterSchemeHandlerFactory(string schemeName, string domainName, CefSchemeHandlerFactory factory)htm

該方法位於CefRuntime,在啓動Initialize後使用。其向瀏覽器註冊一個Scheme處理工廠。對象

三個參數:

schemeName:scheme名;

domainName:使用域 的名稱,這一個參數比較重要,在js中咱們須要向這個地址發送Post請求,能夠隨便填,好比 「testdomain」,那麼在js中請求的地址是 「http://testdomain/」;

factory:處理工廠,須要來裝配一個處理handle。

C#端須要作的兩項工做

1.新建一個類DumpRequestResourceHandler,繼承自CefResourceHandler,有六個函數須要咱們繼承,這裏只用到前面三個。

相關文章
相關標籤/搜索