問題タブ [qtwebkit]
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.
python - PyQt QWebKitフレームのバグ?
Python、PyQt4、およびQtWebKitを使用して、データを調べるために必要最低限のブラウザーにWebページをロードしています。
ただし、小さな問題があります。ロードされたページのすべてのiframeのコンテンツとsrcを取得しようとしています。フレームを取得するためにwebView.page()。mainFrame()。childFrames()を使用しています。問題は、childFrames()は、ブラウザに表示されている場合にのみフレームをロードすることです。たとえば、ブラウザがページの上部にある場合、childFrames()はページのフッターにあるiframeをロードしません。すべての広告を取得できる場所を微調整できる方法や設定はありますか?「ブラウザ」のソースを添付しました。ページの読み込みが完了したら、下にスクロールしてみてください。コンソールを見ると、iframeが動的に読み込まれることがわかります。助けてください。
qtwebkit - QTを使用してSSL用のカスタムルート証明書ストアを作成する際の問題?
QWebView を使用して Qt でカスタム ブラウザーを開発しています。mozilla プロジェクトから取得した信頼できる証明書の独自のルート証明書ストアを作成しようとしています。
QSslSocket::setDefaultCaCertificates() を使用してデフォルトの証明書をオーバーライドしました。しかし、 https://www.gmail.comをロードできません 。mozilla のように機能します。
gmail に必要なすべてのルート証明書をストアに設定しました。
誰でも私を案内できますか?
python - 同じアプリケーションで QWebPage を 2 回使用することはできません
Webkit を使用して URL をロードし、Web ページからデータを抽出する小さな Web サーバーを作成しようとしています (例: タイトル、画像サイズなど)。
PythonからWebkitにアクセスするためにPyQt4を使用しています。リクエストごとに、次のような QThread を作成しています。 - QWebPage オブジェクトを作成します。 - イベント ループを実行します。 Qスレッド
これは、初めて Web ページがロードされ、そのすべてのリソース (CSS、画像) が含まれているときに非常にうまく機能します。2 回目にサーバーに URL をロードするように要求すると、Web ページはロードされますが、そのリソースはまったくロードされません (CSS も画像もありません)。そのため、画像サイズを取得しようとすると、すべてのサイズが 0,0 に設定されます。
ここにいくつかのコードスニップセットがあります:
呼び出しコード (HTTP 要求に応答する) が実行されています。
python - PyQtはページが読み込まれるまで待機します
ページのコンテンツが完全に読み込まれたときに画像に保存したいのですが、出力ラスターが完全にレンダリングされない場合があります。
コード:
ページはJavaScript(onload関数)を使用してGoogleマップ(640x640px)を取得しています。
画像: http: //i56.tinypic.com/15ojg3s.png
c++ - QtWebkit解決イベントディスパッチャー
最近QtWebkitで遊んでいますが、MouseEventなどのイベントを担当するQWebViewに表示される要素を解決できるかどうか疑問に思っていました。
次のような関数を使用して、WebViewオブジェクトにEventFilter関数をインストールしました。
QWebViewに表示されているクリックされた要素への参照を取得する方法はありますか?私が知る限り、渡されたQObjectはWebViewオブジェクトと等しく、イベントはそのディスパッチャーへの参照を保持していないようです。
私はC++の専門家になるにはほど遠いので、何かを逃したことを心から願っています。皆さんが私を助けてくれることを願っています:)
よろしくお願いしますティモ
qt - Symbian^3 デバイス上の QtWebKit 4.7.2 の問題
現在、Qt SDK 1.1 ベータ版を使用して QML アプリケーションを作成しており、QtWebKit を利用しています。アプリケーションは Windows およびシミュレーター内で正常に動作しますが、Symbian^3 デバイス (N8) で実行しようとすると、次のエラーが発生します。
これは、私が実行しようとしている QtWebKit の例にも当てはまります。QtSDK\Symbian\sis\Symbian^3\Qt\4.7.2 にある qt.sis と qtwebkit.sis をデバイスにインストールしました。
この問題の原因について何か考えはありますか? ありがとう。
python - コンソールからqtwebkitの表示フォントを設定するにはどうすればよいですか?
Pythonのqtwebkitでページをレンダリングする際に(xvfbを介して)最大の精度を達成しようとしています。フォントに問題があります。
これが例(画像)です。この例は、斜体での表示に問題があることを示していますが、すべてのサイトに問題があるわけではありません。システムはubuntu10.10サーバーであり、フォントの標準パック(msttcorefontsなど)を設定しますが、qtwebkitでのフォントの表示には影響しないようです。これを構成する方法を誰が知っていますか?
ありがとう!
qt - QtWebkit:HTTPリクエストを追跡/変更する方法は?
QtWebkitHTTPリクエストを追跡/変更する必要があります。
HTMLフォームを使用するハイブリッドWeb/デスクトップアプリケーションのプロトタイプがあります。フォームの送信は純粋にAJAXで行われ、フォームアクションや従来のフォーム送信ボタンはありません。すべてはJavaScriptハンドラーとAJAXを使用して行われます。問題は、フォームやその他のデータを含むHTTPリクエストをC++側から追跡する必要があることです。
QNetworkAccessManagerがHTTP応答との対話を可能にする「finished(QNetworkReply *) 」シグナルを持っていることを確認しましたが、QtWebkitでHTTP要求を追跡/変更することは明確ではありません。
使用可能な例は大歓迎です。
ありがとう。
更新: QNetworkAccessManager :: createRequestは、チェックアウトする方法だと思います。
qt - QNetworkAccessManagerはoutgoingDataを読み取り、QIODeviceに保持します
すべての送信POSTデータをQtWebKitに保存しようとしています。
QNetworkReply * QNetworkAccessManager :: createRequest(Operation op、const QNetworkRequest&request、QIODeviceoutgoingData )メソッドをオーバーライドし、発信POSTデータを含むoutgoingDataを読み取ることでこれを行います。
問題は、それを読み取った後、データがQIODeviceで使用できなくなることです。
送信(PUT、POST)データを保存し、将来の内部Qt操作で使用できるようにするにはどうすればよいですか?
PUT / POSTデータを保存するために別のアプローチを使用する必要がある場合は、お知らせください。
コード例:
私が試してみました
しかし、この場合、「QIODevice :: write:ReadOnlydevice」というメッセージが表示されます。
発信POST/PUTデータをQtに保存するにはどうすればよいですか?
ありがとう。
html - 通常のhtml要素のcanvas「destination-out」に相当しますか?
私はかなり検索しましたが、これは存在しないとかなり確信しています。主にそれを確認しようとしています。私がやりたいのは、その背後にあるすべてを透明にするdivを用意することです。これは、canvasのdestination-out合成オプションと同様です。
もう少しコンテキストについては、ここに状況があります。QtWebKitオーバーレイの背後にOpenGLウィンドウを描画しています。OpenGLウィンドウには、オーバーラップできる複数の「サブウィンドウ」があり、WebKitオーバーレイを使用して装飾されています。ただし、重なり合う場合は、この2層システムのため、重なり合う窓の装飾が遮られることはありません。
バックアップオプションは、これにフルウィンドウキャンバスを使用することです(ウィンドウのトリミングはかなり単純です)が、使用しない方がよいでしょう。これは埋め込みWebKitインスタンスであるため、クロスブラウザーである必要はなく、WebKit(またはQtWebKit)固有のもので問題ないことに注意してください。
編集
私は24時間以内に自分の質問に答えることができないので、@KevinPenoのおかげでこれが私の解決策です
以下は私が探していたものの簡略版です。「可視」と「不可視」の2つのdivを作成します。「invisible」は「visible」をマスクして、「visible」divの代わりにその背後にある背景画像を表示します。
実際のキーは-webkit-mask-image(http://www.webkit.org/blog/181/css-masks/)と-webkit-canvas(http://www.webkit.org/blog/176/ )です。 css-canvas-drawing /)、したがって、これはWebkitベースのブラウザーでのみ機能します。
HTML:
JavaScript:
CSS: