私はJavascriptとC++コードの間のブリッジを確立したQWebKitプロジェクトを実行しました。私はこの方法を使用し、これを達成するために
:
this->page()->mainFrame()->addToJavaScriptWindowObject("god", this);
これは、あなたが最初のパラメータとして指定されたオブジェクトを使用して、JavaScriptから2番目のパラメータとしてaddToJavaScriptWindowObjectに渡すオブジェクトのメソッドを実行することができます。ここで
例:
class Browser : public QWebView
{
Q_OBJECT
public:
Browser(QWidget* parent=0)
{
connect(this->page()->mainFrame(), SIGNAL(javaScriptWindowObjectCleared()), this, SLOT(onJavaScriptWindowObjectCleared()));
}
public slots:
void onJavaScriptWindowObjectCleared()
{
// QString script = "console.log('init!');";
// this->page()->mainFrame()->evaluateJavaScript(script);
}
void onChange()
{
qDebug() << "Browser::onChange()";
}
}
続いて、JavaScriptから私が行うことができます。
は
$('input:text').keydown(god.onChange);
だから私は、入力ボックスにキーを押すたびに、god.onChange()が実行されますBrowser :: onChange()スロットを実行します。
このようにして、JS APIを拡張しないようにします。
http://doc.qt.io/qt-4.8/qtwebkit-bridge.htmlは、ここでQtのスクリプトの例の全体の束です:http://doc.qt.nokia.com/4.7/examples-script.html。 –
ですが、Qt Scriptはhtml + css + javascriptを処理できますか?カスタマイズされたjavascript APIを使用してウェブページ全体を表示したい場合は、 –
あなたの過去の質問の多くが、あなたがデバイス、Webベースのアップデート、およびマップで作業していることを示唆しています。私の会社(TomTom)が複数の特許を所有しているエリアです。解決策を選択した後、IP弁護士にそのような解決策が侵害されるかどうかを確認することができます。 – MSalters