問題タブ [chromium-embedded]
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.
delphi - Delphiが埋め込まれたChromium(CEF1)を使用してCookieを読み取るアクセス違反
アプリケーションでDelphiEmbeddingChromium(CEF1)を使用していますが、URLのCookieデータを読み取るのに問題があります。
このコード(以下に含まれています)を見つけましたが、XE3では、この行について使用すると例外が発生します。
例外は
プロジェクトguiclient.exeは、メッセージ「アドレス00000000でのアクセス違反」で例外クラスEAccessViolationを発生させました。アドレス00000000の読み取り
オブジェクトの1つが適切に作成または初期化されていないことを意味します。
私が使用しているコード(上記のフォーラムリンクからコピー)は次のとおりです。
webdriver - ChromiumEmbedded と WebDriver
当社のソフトウェアは、.NET アプリケーションに組み込まれている ChromiumEmbedded を使用しています。WebDriver を使用してテストを自動化できるかどうか疑問に思っています。何か案は?
c++ - v8 を使用する共有ライブラリは、静的にリンクされた v8 と互換性がありませんか?
実際の問題の裏話は次のとおりです。
Chromium Embedded Framework (CEF) とv8を使用して、組み込みブラウザーで実行される JavaScript にネイティブ C++ 関数バインディングを提供するプロジェクトに取り組んでいます。
具体的には、v8::ObjectTemplate
ページまたはコンテキストが読み込まれる前に a を構築し、CEF のOnContextCreated
コールバックでそのテンプレートの新しいインスタンスを作成し、それをグローバルwindow
オブジェクトのプロパティとして追加します。
問題は、CEF の API が v8 のコンテキストと値をラップし、インターフェイスへの (スマート) ポインターを提供して、v8 を内部で使用しているという事実を完全に隠していることです。CEF によって課せられた制限により、CEF のラッパーを使用するとプロジェクトがより複雑になるため、v8 を動作させたいと考えています。OnContextCreated
これは、CEF のコールバックの私の実装のスリム化されたバージョンです。
ここで、CEF は内部で v8 を使用していますが、API を通じて公開していないことに注意してください。したがって、コンテキストの v8 バージョンを取得する唯一の方法は、 を使用することv8::Context::GetCurrent()
です。これは、理論的にはv8::Context
によってラップされたものを返す必要がありCefV8Context
ます。
また、これをコンパイルするには、別の v8 (静的) ライブラリをコンパイルしてリンクする必要があることに注意してください。CEF はその (動的) ライブラリを通じて v8 を公開しないためです。
だからここに問題があります:
プロジェクトを実行して を呼び出すと、v8 ライブラリのどこかでエラーがv8::Context::GetCurrent()
発生してクラッシュします。EXC_BAD_ACCESS
さらなる調査の結果、CEF の API によると、 への呼び出し後にコンテキストにいるcontext->Enter()
ことが確認されましたが、v8 の API によると、エラーを説明するコンテキストではありません。
C/C++ ライブラリに関する非常に限られた経験から、これは、CEF の v8 コードと私の v8 コードが別々のメモリ空間で実行されていることを暗示しているように思えます。v8 は静的ライブラリで、CEF は動的ライブラリなので、影響はありますか?
私が知りたいのは、なぜこれが起こっているのか、これを修正または回避するにはどうすればよいですか?
PS: 私はこれを C++11 を使用して構築し、XCode を介して Mac OS X で clang を実行していますが、この問題は Windows の VS2012 にも悩まされています。
delphi - cppbuilder での DCEF の使用
C++Builder で DCEF (Delphi Chromium Embedded) を使用することはできますか? IDE を構成するにはどうすればよいですか?
flash - Chromium Embedded でフラッシュの音量を調整するにはどうすればよいですか?
Windows 7 の Chromium Embedded でフラッシュの音量を調整するにはどうすればよいですか? Mixer API、EndPointVolume API、Mmdevice API、オーディオ セッションなどを試しましたが、常に間違ったトラックを調整します (サウンドを再生しない新しいトラックを作成します)。
delphi - Delphi Chromium Embedded - F5 でページを更新
アプリケーションで Delphi Chromium Embedded を使用していますが、次の質問があります: F5 キーをエミュレートしてページを更新するにはどうすればよいですか?
delphi - Delphi Chromium Embedded - ブラウザのキャッシュをクリアする
アプリケーションで Delphi Chromium Embedded を使用しています。次の質問があります: ブラウザのキャッシュをクリアする方法はありますか?