問題タブ [cefglue]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - JavaScript コードを実行し、Xilium.CefGlue からオブジェクトや配列の結果を取得します。
CefGlue を使用して、ブラウザーに対して JavaScript コードを実行しています。
そして、それが CefV8Value を .NET データ型にマッピングするメソッドです
true のときに値を取得する方法がないように思えIsObjectますIsArray。GetObjectValue()またはに使用できるメソッドがありませんGetArrayValues()
JavaScriptコードを返す前にすべてを文字列に変換できることは知っていますが、それは私が必要とするものではありません。
c# - Visual Studio の停止時に反応する
Visual Studio からコードを実行しているときにコードが停止したときにコードを実行する可能性はありますか?
CefGlue ライブラリを使用して WinForms アプリケーションを構築していますが、停止ボタンを押すと、例外からコンテンツが開かない 2 つのウィンドウに至るまでの問題があることに気付きました。別のプロセスがバックグラウンドで実行され続けます。Cef を適切に停止するには、実行する必要がありますCefRuntime.Shutdown();。おそらく、CefGlue には問題があるため、Visual Studio ホスティング プロセスでアプリケーションが実行されないためです (これを参照)。これは本番環境には影響しませんが、開発およびテスト中は厄介ですが、それでも問題を解決するためにいくつかのコードを実行したいと思います.
これは不可能だと思いますが、もしそうなら、それを知ることは興味深いでしょう.
そのため、開発中に停止ボタンを押したときに Visual Studio がアプリケーションを停止しているときにコードを実行する方法を探しています。
注: Visual Studio 2013 および 2015 を使用しています。
編集 ごくわずかなコード行で問題を再現することはできません。それにもかかわらず、ここで簡単な例を作成しようとしました
remote-debugging - CefGlue リモート デバッグ ポートが機能しない
CefGlue を使用して 2 つのアプリケーションを作成しました。どちらも、リモート デバッグ ポートを設定した同じコード ベースを共有しています。しかし、一方では機能し、他方では機能しません。これは、リモート デバッグ ページが利用可能であるが、空白のページであることを意味します。
考えられる問題を探すための提案はありますか? リモートデバッグを中断するために他にできることはありますか?
編集: HTML を確認しましたが、完全に空です。そして、少なくとも「Inspectable WebContents」がそこにあるはずです。
編集: debug.log に次のメッセージが見つかりました:
私がロケールファイルを見逃していることを除けば、興味深い行は次のとおりです。
winforms - CefGlue.Demo.WinForms OnTooltip が呼び出されないのにデモに表示される理由
CefGlue.Demo.WinForms をデバッグすると、ツールチップが表示されますが、どのように機能しますか? 誰でも助けることができますか?ありがとう。
c# - CefGlue を使用して URL から HTML ページを返す
次の(プロトタイプ)メソッドの実装を作成しようとしています:
これが必要な理由は、大量の Javascript をブラウザーにプッシュし、Javascript がページをレンダリングするページが多数あるためです。このようなページを確実に取得する唯一の方法は、結果の HTML を取得する前に、ブラウザ環境で Javascript を実行できるようにすることです。
私の現在の試みはCefGlueを使用しています。このプロジェクトをダウンロードし、この回答のコードと組み合わせた後、次のコードを思いつきました (完全を期すためにここに含まれています)。
関連するコードは次のとおりです。
これは実際に機能しているように見えます。デバッガーで Html 変数を調べると、そこに HTML ページがあります。問題は、そのコールバック メソッドで Html 変数が役に立たないことです。それはクラス階層の 3 層の深さに埋もれており、Schroedinbug を作成せずに、記述しようとしているメソッドでそれを返す必要があります。
(デバッガーで Html ビジュアライザーを使用して表示しようとするなど、そのプロパティから結果を取得しよstring Htmlうとすると、デッドロックが発生するように見えます。これは、特にこのコードがサーバー上で実行されるため、回避したいことです) .
どうすればvar result = browser.GetHtml(string url);安全かつ確実に達成できますか?
おまけの質問:上記のコードのコールバック メカニズムは、この手法を使用してタスクに変換できますか? それはどのように見えるでしょうか?
c# - CEFSharp、CEFGlue、ChromiumFX - プラグイン タイプの WPF アプリケーションに最適なもの
プラグイン タイプの WPF アプリケーションの場合、当初は CEFSharp を使用する予定でしたが、既知のアプリ ドメインの問題により障害が発生しました。次のステップに進む前に、専門家の意見を聞いてみましょう。WPF アプリケーションのプラグイン タイプに最適なものはどれですか?
chromium-embedded - プラグイン環境のCEFGlueがレンダリングされない
https://bitbucket.org/xilium/xilium.cefglue/downloadsで入手可能な CEFGlue サンプル内の「CefGlue.Samples.WpfOsr」を参照し、プラグイン アセンブリに統合しようとしています。何をしても、ブラウザ コントロールはプラグインとして実行するとビューにレンダリングされません。ただし、これはスタンドアロン モードで実行すると問題なく動作します。誰かがどうやって行くべきかアドバイスできますか?
javascript - JS から C# への呼び出しで CefApp.GetRenderProcessHandler() をオーバーライドした後、WPF アプリケーションがクラッシュする
Xilium.CefGlue と Xilium.CefGlue.WPF を使用して wpf アプリケーションを開発しています。SampleCefApp に Xilium.CefGlue.CefApp.GetRenderProcessHandler() を実装した後、WPF アプリケーションがクラッシュします。この実装の前は、アプリケーションはクラッシュすることなく正常に動作していました。実際には、html ローカル ページから javascript 関数で C# 関数を呼び出す必要があります。この機能は 32 ビット バージョンでは正常に機能しますが、64 ビット バージョンでは機能しません。以下は私の実装です。
アプリのクラッシュに対して次のメッセージが表示されました
64 ビットでの作業中に libcef dll に問題はありますか。Xilium.CefGlue と Xilium.CefGlue.WPF を使用して、JS を C# 呼び出しに実装するのを手伝ってくれる人はいますか? リンクからこれに使用している次の参照コード https://groups.google.com/forum/#!topic/cefglue/EhskGZ9OndY
最初にロードしたHTMLファイル:
JavaScriptコード:
どんな助けでも大歓迎です。