1

私は現在、簡単に移植でき、シンプルで完全に機能する Web ブラウザーを備えた SWT アプリケーションを構築しています。主に webkit を使用することにしました。これは、主に osx、主要な Linux ディストリビューションに既にインストールされており、Safari をインストールすることで Windows に簡単にインストールできるためです。

ブラウザ クラスで明示的に実行できるすべての基本機能 (ステータス テキスト、プログレス バーなど) をブラウザに追加しましたが、レンダリング エンジンとより直接的に通信する必要がある機能を追加する際に問題が発生しました。 .

たとえば、ズーム機能を追加しようとしています。SWT ページには、レンダリング エンジンとして Mozilla を使用してこれを行う方法を示すスニペットがありますが、mozilla 以外のエンジンでは null を返す browser.getWebBrowser() 関数に依存しています。

私が行った検索から、現在機能していない SWT への Webkit のポートと、私が既に行ったことの多くの例を見つけました。私が見つけられなかった Webkit 用の nsIWebBrowser のようなオブジェクトはありますか? そうでない場合は、mozilla を使用するか、javascript を使用してBrowserFunction クラスを拡張してこれらの関数を自分で作成するのが最善の策だと思います。

Mozilla を選択した場合、ユーザーが個別にインストールする必要がないように、最終的なアプリケーションに XLU ランナーをどのくらい簡単にパッケージ化できますか? 私が webkit を選択した場合、この種の機能を実装するために BrowserFunction クラスで javascript を使用することについて、私が見つけることができなかった良いドキュメントはありますか?

最終的には、検索、ダウンロード、ビデオの再生、元に戻す/やり直しも実装する必要があります。どの方向に進むことをお勧めしますか?

ご協力ありがとうございました!

4

1 に答える 1

3

私が行った検索から、現在機能していない SWT への Webkit のポートと、私が既に行ったことの多くの例を見つけました。私が見つけられなかった Webkit 用の nsIWebBrowser のようなオブジェクトはありますか?

nsIWebBrowser とまったく同じものを探しているなら、何もありませんorg.eclipse.swt.internal.webkit.IWebViewしかし、これはいくらか似ていると感じるかもしれません。

そうでない場合は、mozilla を使用するか、javascript を使用して BrowserFunction クラスを拡張してこれらの関数を自分で作成するのが最善の策だと思います。

Mozilla の実装は、1998 年にリリースされた The Original Code is Mozilla Communicator client code に根ざしていますが、Webkit の実装は SWT チームによって行われました。私の経験では、XULRunner で作業するのは少し難しいと感じました。この問題は通常、SWT が特定のバージョンの XULRunner に依存していることが原因です。SWT FAQを参照してください。

BrowserFunction の拡張は複雑になる可能性がありますが、試すことができます。

Mozilla を選択した場合、ユーザーが個別にインストールする必要がないように、最終的なアプリケーションに XLU ランナーをどのくらい簡単にパッケージ化できますか?

アプリケーションを開始する前に、適切な XULRunner をバンドルし、適切なシステム プロパティを設定するだけです。SWT FAQを参照してください。

私が webkit を選択した場合、この種の機能を実装するために BrowserFunction クラスで javascript を使用することについて、私が見つけることができなかった良いドキュメントはありますか?

うーん。わからない。もう少しググるか、それについて知っている人を待つ必要があります。

最終的には、検索、ダウンロード、ビデオの再生、元に戻す/やり直しも実装する必要があります。どの方向に進むことをお勧めしますか?

スタディorg.eclipse.swt.browser.Webkitクラスとそのサポートクラス、 org.eclipse.swt.browser.WebDownloadDelegate.

于 2013-03-28T04:53:51.483 に答える