欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

cefsharp無法調用jquery

李中冰2年前8瀏覽0評論

CEFSharp是一個基于Chromium的.NET框架,可以在.NET應用程序中使用Chromium瀏覽器的功能。但是,有時候我們會發現在CEFSharp中無法調用jQuery。下面我們來看看這個問題的解決辦法。

首先,我們需要確認在安裝了CEFSharp之后,是否已經將jQuery文件正確地加載進來。如果沒有加載進來,我們需要手動將jQuery文件添加進來。可以在html文件的head標簽中添加以下代碼:

<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>

如果已經加載了jQuery文件,但仍然無法調用jQuery函數,我們需要注意到一個關鍵問題:Chromium瀏覽器在加載頁面時,是通過接口 ChromiumWebBrowser.LoadingStateChanged 實現的。在LoadingStateChanged為LoadingFrameComplete時,頁面加載完畢。在此時,我們可以通過JSExecutor調用頁面中的JavaScript函數。但是,如果我們在頁面沒加載完時就調用jQuery函數,這個調用就會失敗。

因此,我們需要將調用jQuery函數的代碼寫入到LoadingStateChanged為LoadingFrameComplete時才執行。這個操作可以通過在CEFSharp中使用 JSExecutor 完成。下面是一個實現的例子:

private async void Browser_LoadingStateChanged(object sender, LoadingStateChangedEventArgs e)
{
if (e.IsLoading) return;
await Browser.EvaluateScriptAsync("$('body').append('<div>Hello, World!</div>');");
}

這個代碼的作用是,在頁面加載完成后向body中添加一個Hello World的div。其中,EvaluateScriptAsync可以調用頁面中的JavaScript函數。

通過上述操作,我們就可以很輕松地在CEFSharp中調用jQuery函數了。