問題タブ [tchromium]
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 - OnLoadEnd が Chromum 組み込みフレームワークから複数回呼び出される
CEF ブラウザーを使用して、DOM ツリーをトラバースするために OnLoadEnd イベントにフックしようとしました。
奇妙な理由で、VisitDom が 2 回呼び出されます。
OnLoadEnd が複数回呼び出される理由は何ですか?
delphi - Delphi Chromium - ユーザーが Web ページのボタンをクリックすると、Delphi アプリケーションでコマンドを起動します
Delphi アプリケーションで Chromium コンポーネントを使用しています。
次の動作が必要です。
ユーザーが Web ページの特定のボタンをクリックすると、Delphi アプリケーション(「コンテナ」)はコマンドを実行する必要があります(... を使用して外部実行可能ファイルを起動します)。
出来ますか ?
delphi - DelphiChromiumコンポーネントのonBeforeBrowseイベント
DelphiXE2でChromiumコンポーネント(バージョン306)を使用して次の手順を使用しようとしています。
しかし、それは機能していません。DelphiはonBeforeBrowseイベントを認識しません。Chromiumは正しくインストールされているようで、サンプルは機能しています。GuiClientサンプルにonBeforeBrowseイベント処理を追加しようとしています... Delphi Chromiumコンポーネントにそのイベントはありますか?
delphi - Delphi6アプリのJavascriptからChromeMicボタンをクリックする方法、または少なくともボタンを見つけてWindows画面の座標を取得する方法は?
ChromiumWebブラウザーを組み込んだDelphi6アプリがあります。JavascriptのChromeマイクボタン(音声入力コントロール)をクリックしたい。ボタンのclick()ハンドラーを呼び出す通常のメソッドを試しましたが、何も起こりませんでした。以下は、最初の入力要素がChrome音声入力コントロールで、2番目の入力要素がチェックボックスであるHTMLを試しました。このチェックボックスをオンにすると、音声入力コントロールが検出され、click()ハンドラーが呼び出されます。
Javascriptから音声入力コントロールのマイクボタンをクリックする方法はありますか?私の質問に似たStackOverflowに関する別の投稿を見つけましたが、解決策はありませんでした。
そうでない場合は、Delphi 6アプリから、Windows画面座標でのボタンの位置を特定して、マウスをその上に移動してクリックできるようにする方法はありますか?
私はこのStackOverflowの投稿からAutoItについて知っています:
GoogleのChrome入力HTMLタグにクリックを送信します
しかし、AutoItをダウンロードしてセットアップするようにユーザーに依頼するのではなく、自分でマウスクリックを処理したいと思います。
また、Javascriptを介してChrome拡張機能で利用できるサービスを呼び出すことができるかどうか誰かが知っているかどうかを尋ねたいと思います。それが可能であれば、音声入力コントロールが拡張機能に公開するstartSpeechInput()メソッドを呼び出すことができます。
delphi - Delphi Chromium Embeddedで名前で要素を取得するには?
ID を使用して TChromium インスタンスから現在の Web ドキュメントに埋め込まれた特定の DOM ノードを取得するには、ICefDomDocument.getElementById() を使用します。しかし、NAME 属性で要素を見つけるにはどうすればよいでしょうか。Javascript には document.getElementsByName() メソッドがあり、TWebBrowser (IE をラップする) にも同様の呼び出しがありますが、TChromium でこれを行う方法がわかりません。NAME 属性を持ち、ID 属性を持たない DOM 要素を見つける必要があります。私はceflibユニットを検索しましたが、それを行うものは何も見当たりませんでした。
副質問。だれかが TChromium の「レシピ」スタイルのサイトまたはドキュメントへのリンクを持っていれば、それを使用できます。
更新: 回答を待っている間に、getElementsbyName() を実行するための次のコードを思いつきました。DOM ツリー全体をスキャンするよりも高速な方法が必要です。コードに何か問題がある場合は、お知らせください。
silverlight - Chromium と Silverlight (Delphi)?
Silverlight と Chromium の統合を試みた人はいますか? もしそうなら、それを機能させるための手順をリストしたドキュメントを知っていますか? Delphi 6 と TChromium コンポーネントを使用しています。
delphi - Chromium Embeddedでソースの表示オプションを無効にする方法は?
Delphi Chromium Embeddedでソースの表示オプションを無効にすることは可能ですか?
プロパティ/メソッドのリストに適切なものが見つかりませんでした。
delphi - DLL フォームに埋め込まれた Delphi Chromium
DLL の VCL フォームを使用するアプリケーションがあります。フォームの 1 つに、DelphiChromiumEmbedded の TChromium を配置しました。問題があります。DLL をアンロードすると (フォームが破棄されます)、エラーや AV が発生せずにアプリケーションがフリーズします。私はいくつかの答えを見つけました - lib_cef.pas で //cef_shutdown をコメントしました。このパスでフォームは正常に破壊されましたが、大きなメモリ リークが発生しました。DLL からフォームを作成するその他のコンポーネントでは、DLL の破棄とアンロードは成功します。
TChromium コンポーネントを含むフォームで DLL を通常アンロードするにはどうすればよいですか?
delphi - 組み込みのChromiumブラウザのキャッシュとCookieをクリアするにはどうすればよいですか?
TChromiumでブラウザを作成しました。TChromiumは動的に作成されます。Facebookアクセス(ログイン)プロセスの最後に、コンポーネントは破棄されます。コンポーネントが再度作成されると、問題が発生します。彼は前のセッション(ログイン)を続行します。すべてのキャッシュとCookieをクリーンアップする必要があります。(強制ログアウト)
コードの下で、次の方法でコンポーネントを作成します。
私はそれを破壊し、次のようにメモリを解放します:
私は何をすべきか?
delphi - 匿名メソッドを使用せずにDelphi Chromium EmbeddedでDOMノードを反復する方法は?
私のスキルが限られているため、匿名メソッドをサポートしていない Delphi 7 で同じことを行う方法がわかりません!