問題タブ [cefsharp]

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.

0 投票する
1 に答える
182 参照

chromium - CEFharp3 ChromiumWebBrowser が KML のレンダリングに失敗する

Chromium ブラウザーを使用して KML を含むページをレンダリングしようとしていますが、次のエラーで失敗します。

「アプリケーションがストレージ クォータを超えてしまうため、操作に失敗しました。」

Google chrome を使用すると、同じページが正しく表示されます。

どんな助けでも大歓迎です

0 投票する
1 に答える
2382 参照

c# - CefSharp WPF ChromiumWebBrowser で IME 入力を受け入れるようにできますか?

CefSharp組み込み Chromium Web ブラウザーを使用して、真っ白な WPF ブラウザー アプリを作成するのに 2 か月を費やしました。現在、このブラウザは IME 入力方式で動作する必要があることが明らかになりましたが、そうではありません。基本的に、WPF ブラウザーはオフスクリーンでレンダリングされ、画面イメージと入力イベントが前後にマーシャリングされます。

IME が呼び出されると、アプリの外側にあるポップアップ ツール ウィンドウ (通常はデスクトップの左上隅) にテキスト入力が行われます。入力が受け入れられると、入力はブラウザにマーシャリングされません。

通常どおり、入力フィールドの横に IME を表示させることはできますか?

読書やコーディングを開始する場所について、いくつかの指針をいただければ幸いです。これを実装するのに1か月かかる場合は、確実に実現します。

更新 - キー OemAuto および ImeProcessed が WPF ブラウザー コントロールによってプレビューされているようです (ただし、オフスクリーン ブラウザーには渡されません)。これらのキーをオフスクリーン ブラウザーに渡すと、IME ウィンドウが表示されなくなります。これが進歩かどうかはわかりません。:)

更新 - 独自のウィンドウ メッセージ ループをロールバックして、IME および入力イベントをブラウザーに転送しようと考えています。ブラウザーが独自に IME イベントを処理できるようにすることはできますか?

更新 - オフスクリーン IME のサポートが Windows に実装されていないようです (Mac のみ) CEF3: Windows: オフスクリーン レンダリングが有効な場合に IME を有効にします。私は自分の選択肢を模索し続けています。

0 投票する
1 に答える
4527 参照

c# - CefSharp 組み込み Chromium ブラウザー コントロールを使用して Web ページを読み込めませんか?

私はそれを始めるのに苦労しています。まず、NuGet パッケージを使用してみました。それらをインストールしたときに、CefSharp DLL への必要な参照が参照リストに表示されませんでした。そのため、 /packagesサブディレクトリを検索して手動で追加しました。プロジェクトをビルドした後、URL ロードを実行しても何も起こらないことに気付きました。Web ページが読み込まれず、エラー メッセージも発生せず、例外も発生しません。何もない。

CefSharp Nuget パッケージを完全に削除し、 GitHub から最新のリポジトリ ソースを取得しました。最初に、CefSharp.WinForms.Example プロジェクトから URL の読み込みが正常に機能することを確認しました。それはうまくいきました。次に、ソリューションが適切にビルドされるまで、必要なプロジェクトのセットを CefSharp ソリューションからプロジェクトのソリューションにコピーしました。私のコードではないことを確認するために、 CefSharp.WinForms.Exampleプロジェクトから BrowserForm フォームを追加しました。しかし、実行時にそのフォームを開いて、アドレス バーに URL を入力し、[移動] ボタンをクリックしても何も起こりません。ちょうど前のように。

コードをトレースしたところ、 ManagedCefBrowserAdapter.hの次の C++ メソッドに障害点が見つかりました。

本当に奇妙な問題があることがわかりました。「if」ステートメントまでコードをトレースすると、cefFrameの値が次のようになっていることがわかります。

ただし、明らかにNULLではありませんが、NULLであるかのようにいじめられています。(または、{CefRefPtr} 値の私の分析は間違っており、私の分析も間違っています。)

いずれの場合も、「if」ステートメントはcefFrameの現在の値をnullptrと等しいものとして扱い、 cefFrame参照オブジェクトでLoadURL()メソッドを呼び出す行をスキップします。GitHub CefSharpリポジトリのソリューションのコピー、これとまったく同じコードをトレースすると、「if」ブロックに入り、 LoadURL ()メソッドが実行されます。cefFrame の値を確認したところ、アプリにある値と同じです。本当に奇妙な理由で、ここまたは私のアプリにもっと陰湿な問題があるか、cefFrameの{CefRefPtr}の値を 実際にnullptrは、すべきでない場合です。

私のコードで物事を機能させる方法について誰かが何か考えを持っていれば、本当に感謝しています。

更新:トリプルチェックを行い、動作する GitHub CefSharp ソリューションと動作しないプロジェクトの間でビルド構成が同一です。Win32 に設定されている Core プロジェクトを除いて、すべてが x86 に設定されています (どちらの場合も)。

再構築を行い、その上で、含まれている各プロジェクトを調べて、/bin と /obj ディレクトリの両方を手動で完全に削除しました。プロジェクトを実行すると、何か違うことが起こっています。コードが新しい BrowserTabUserControl を作成しようとするたびに、未処理の例外が発生します。

メイン プロジェクトの CefSharp.Core プロジェクト参照を削除し、CefSharp.Core プロジェクトへの参照を再度追加して再追加しようとしました。しかし、私はまだその例外を取得します。

0 投票する
1 に答える
4974 参照

c# - CefSharp タッチ イベント ハンドラ

Cefsharp バージョン 37 (c#)を使用しています。

CefSharp ブラウザをタッチ タップとしてマウス クリックに応答させるにはどうすればよいですか。

CefBrowser内のテキスト コントロールがフォーカスされたときに、win 8.1 のタッチ キーボードを上げたいと思います。

on-focusCefBrowser ブラウザ内で発生したコントロールのイベントは見つかりませんでした。

ありがとう。

0 投票する
2 に答える
7560 参照

javascript - cefsharp で JavaScript 関数またはイベントをトラップ/リッスンする方法

WPF アプリケーションに cefSharp を使用しようとしています。「.Net から Javascript メソッドを呼び出す方法」を見つけることができます。しかし、.Net で Javascript 関数またはイベントについて通知を受け取る方法はありますか?

たとえば、Javascript 関数 (param の有無にかかわらず) がある場合、.Net の値の有無にかかわらず通知を受け取ることができます。

0 投票する
4 に答える
4928 参照

c# - Windows XP / Server 2003 / VS 2010 上の CefSharp

Windows XP の Visual Studio 2010 で開発している C# プロジェクトに CefSharp を統合しようとしています。Windows Server 2003 を実行している他のユーザーから同様のエラーが報告されています。

  1. NuGet を介して CefSharp.WinForms を追加しましたが、うまく機能しているようです。

  2. アプリをコンパイルして実行しますが、CefSharp をロードしようとすると、「'CefSharp.Core.dll' によってインポートされたプロシージャをロードできませんでした」というメッセージが表示されます。

以下は私が実行するコードです:

CefSharp のFAQでは、XP は正式にサポートされていませんが、Windows XP で実行するために行った多くのタスクを実行する必要があるとのことですが、FAQ では動作すると述べています。

  • 最新のサービス パックとパッチが適用されていることを確認してください はい
  • 正しい Visual C++ バージョンがインストールされていることを確認してください。はい
  • GPU アクセラレーションを無効にします ( https://github.com/cefsharp/CefSharp/issues/627#issuecomment-64232089を参照) CefSettingsをインスタンス化することさえできないため、関連性はありません
  • 建物がリリースモードになっていることを確認してください。はいやってみました
  • bin ディレクトリの Debug.log ファイルを調べます (ログの詳細度を上げる必要があるかもしれません。https://github.com/cefsharp/CefSharp/blob/master/CefSharp.Example/CefExample.cs#L22 を参照してください)。CafSettings をインスタンス化する
  • まだアップグレードしていない場合は、最新の GPU ドライバーにアップグレードします。はい

表示されるエラーメッセージ

プロジェクトファイル

bin\x86\debug 内のファイル

0 投票する
1 に答える
2446 参照

c# - HTML コンテンツをレンダリングする CEFSharp の Webview

私の目的は、HTML コンテンツをスタイル、インデント、その他すべてを使用してテキストにレンダリングすることです。次のコードを使用してCEFSharp v1.25.5で回避策を実行したところ、魅力的に機能します。

私は 64 ビット アプリケーションを開発しているため、アプリケーションに同じものを実装することはできません。というわけで、 64bit対応のCefSharp v37.0.0の最新版を見つけました。しかし、悲しいことに、ここで「WebView」が見つかりませんでした。私は運なしで次のコードを試しました。

Cefsharp v1.25.5 の webview のような 64 ビット ターゲット プラットフォームの webview コンテナーに html webcontent を表示する必要があります。