FB Javascript SDKを使用してQMLをFBグラフAPIとやりとりさせようとしています。Facebook Javascript SDKを使用してQMLがデータをロードできる方法はありますか?
私はWebViewの要素内に、このHTMLをロードしています:
html: "<script>console.log(\"This is in WebKit!\"); window.FB.init();</script>"
と私はまたWebViewの内部FBという名前のJSウィンドウオブジェクト作成しました:
javaScriptWindowObjects: QtObject {
WebView.windowObjectName: "FB"
}
しかし、できるだけ早くをwindow.FB.init()が呼び出されると、エラーがスローされます:
ReferenceError: Can't find variable: window
私が使用している別のアプローチはFBをロードすることです.INIT()関数は、Component.onComplete
function startupFunction() {
console.log("This call is in QML!");
FB.init({
appId:'XXXXXXXXXXXXX', cookie:true,
status:true
});
console.log(FB);
}
Component.onCompleted: startupFunction();
を使用してしかし、私はエラーを取得する:ここで
TypeError: Result of expression 'FB.init' [undefined] is not a function
が完了QMLです:
import QtQuick 1.0
import "fb.js" as FB
import QtWebKit 1.0
Rectangle {
width: 360
height: 360
Text {
text: "Hello World"
anchors.centerIn: parent
}
MouseArea {
anchors.fill: parent
}
WebView {
preferredWidth: 490
preferredHeight: 400
scale: 0.5
smooth: false
javaScriptWindowObjects: QtObject {
WebView.windowObjectName: "FB"
}
html: "<script>console.log(\"This is in WebKit!\"); window.FB.init();</script>"
function startupFunction() {
console.log("This call is in QML!");
FB.init({
appId:'xxxxxxxxxxxx', cookie:true,
status:true
});
console.log(FB);
}
Component.onCompleted: startupFunction();
}
}