cefsharp實現javascript回調C#方法

在構建完WebView webView = new WebView(url)後,便可調用RegisterJsObject方法來註冊一個js對象,從而前端的javascript就能夠訪問這個對象,調用定義的方法。javascript

public class CallbackObjectForJs{
    public void showMessage(string msg){
        MessageBox.Show(msg);
    }
}

WebView webView = new WebView("http://localhost:8080");
webView.RegisterJsObject("callbackObj", new CallbackObjectForJs());

前端頁面javascript代碼便可訪問對象 callbackObj。前端

<script type="text/javascript">
    callbackObj.showMessage('message from js');
</script >

 注意:CallbackObjectForJs的showMessage方法首字母不能使大寫,否則javascript回調的時候找不到對應的方法。緣由還在分析中。。。java

 PS:cefsharp是一個用於C#的瀏覽器控件(開源),C#自帶的控件在IE內核適配的問題上處理起來有點麻煩,同時若是網頁是重度使用javascript,那你能夠考慮基於cef的各類瀏覽器控件,執行效率飆升。cefsharp的github:https://github.com/cefsharp/CefSharpgit

相關文章
相關標籤/搜索