5
我試圖讓QML使用FB Javascript SDK與FB圖形API交互。QML可以使用Facebook Javascript SDK加載數據嗎?
我加載網頁視圖元素中此HTML:
html: "<script>console.log(\"This is in WebKit!\"); window.FB.init();</script>"
而且我還創建了一個名爲FB的網頁視圖內的JS窗口對象:
javaScriptWindowObjects: QtObject {
WebView.windowObjectName: "FB"
}
但只要window.FB.init()被調用,它拋出一個錯誤:
ReferenceError: Can't find variable: window
我使用的另一種方法是加載FB使用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();
不過的.init()函數,我得到的錯誤是:
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();
}
}