0

QtWebkitで、Javascriptを介してページを開くことができないようにしようとしています。

QWebViewは使用せず、QWebPage(ヘッドレスで実行)のみを使用します。QWebPageから派生し、createWindowをオーバーライドしました(現在、オーバーライドはメッセージをログに記録し、ベースのcreateWindowを呼び出します)。また、JavascriptCanOpenWindowsをtrueに設定しました。

私の関数呼び出されましたが、ベースのcreateWindowがNULL以外を返すことはなく、QWebPageを返すこともありません。なぜこうなった?

4

1 に答える 1

2

QWebPage 実装の createWindow() が NULL を返すようです。

私のプログラムでは、QWebPage から派生したクラスのインスタンスを createWindow() から返します。新しいページの処理をカスタマイズするために、acceptNavigationRequest() メソッドを再実装します。

新しいウィンドウの作成をどのように処理するかを示す Qt の例からブラウザー アプリケーションの例を読むことは、私にとって非常に役に立ちました。

于 2011-02-10T13:59:40.913 に答える