問題タブ [qtwebview]
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.
javascript - QML QtWebView を使用して C++ を呼び出すには?
Qt 5.5 では、彼らが提供するMinibrowser の例を使用して、 QWebView widgetとは異なるものを使用します。代わりに、QML とQtWebView モジュールを使用します。Javascript を見るとnavigator.appVersion
、QWebView がカスタム AppleWebKit/538.1 (Qt5.5 に同梱されているもの) をロードし、QtWebView (違いに注意) がネイティブ コア OS AppleWebKit/601.1.56 をロードすることがわかります。これは、OSX (El Capitan バージョン) で Safari をロードすると、601.1.56 と表示されるため、確認されています。
しかし、問題は、ミニブラウザの Javascript 関数がバックエンドで C++ 関数を呼び出して、より強力なことを行うにはどうすればよいかということです。QWebView ウィジェットを使用していたとき、C++ Webkit ブリッジを使用して C++ オブジェクトを DOM に挿入し、C++ コードを呼び出すことができました。QtWebView を使用する QML ベースの Minibrowser の例でこれを行う方法について文書化された手法は見当たりません。テクニックは?
編集:ああ、明確にするために、私はこれでリモートWebページをWebサーバー経由で呼び出していません。file:// を介して何かを呼び出しているだけです。言い換えれば、私はリッチ Webkit インターフェイスを使用して、Qt ウィジェットと QML が提供できるものをはるかに超える超強力な GUI を提供しています。
node.js - QWebView内で自己認証されたhttps nodejsサーバーのURLをロードする方法
- テスト用の自己認証キーを使用して nodejs https ローカル サーバーを実行します。
- QT アプリケーションの QWebView 内にhttps://localhost:8888/index.htmlをロードします。
QWebView はコンテンツを表示しません。
javascript - qt webkit での Javascript のデバッグ
挨拶
qt web-kit で java-script をデバッグしようとしていますが、うまくいきません。
これが私がすることです。qt web-view を右クリックして [Inspect] を選択し、インスペクター ウィンドウで [Scripts] タブに移動し、[Only enable for this session / Always enable] を選択し、[Enable Debugging] ボタンを押します。java-script ファイルでは、(行番号をクリックして) 関数にブレーク ポイントを配置します。ウィンドウの右側にも「ブレークポイント」グループの行が表示されます。関数の起動を引き起こす特定のアクションを (UI で) 実行しますが、何も起こりません。ブレーク ポイントにヒットせず、関数が戻ります。名前と引数を入力してコンソールから関数を手動で呼び出しても、何も起こりません。ブレークポイントに到達せずに関数が戻ります。
私も有効にしましJavascriptEnabled
た。
QT 4.8 と Visual Studio 2008 を使用しています。
ここで何が悪いのか教えてください。
ありがとうございます
c++ - QWebView は Qt リソース ファイルから *.js を読み込んで実行できますか?
次のようなqrcファイルがあります。
assets.js内でアラート ポップアップの関数を追加するだけです。
index.html内にアラート ポップアップ用の別の JavaScript を追加し、assets.jsをロードして 2 つのボタンを追加します。1 つ目は外部 JavaScript ファイル ( assets.js ) からウィンドウ ポップアップを呼び出し、2 つ目はindex.htmlファイルに埋め込まれた JavaScript を呼び出します。
今、qtwebkit でindex.htmlを読み込もうとしているとき:
index.htmlが正常にロードされていることがわかります (2 つのボタンが表示されます)。ローカル (html が埋め込まれた) JavaScript を呼び出すボタンをクリックすると、機能します。2 番目のボタンをクリックしても何も起こりません。
外部のassets.jsが正しく読み込まれていないようです。どうすればそれを機能させることができますか?
ありがとう。