从QML调用HTML文件和Javascript

时间:2013-02-12 16:48:59

标签: html qml

我有一个HTML文件,我需要从QML调用。我的HTML文件使用ajax编程。我收到一个错误,说“未定义的变量$ ajax”。我需要用一个库来解决这个问题吗?

main.qml - 来自我的main.qml文件,我正在调用boot.htm文件。在我的boot.htm文件中,我将调用我的javascript文件。

Page{
    WebView {
        id: webView
        url: "local:///assets/boot.htm"
    }    
}

boot.htm

<div id="bootScreen" data-bb-type="screen" data-bb-scroll-effect="off"> 
<style type="text/css">

#bootScreen
{
   background:url('images/image.gif') no-repeat;  
}  
#logo
{
  height:200px;
  width:600px; 
}
</style>
<script id="bootJS" type="text/javascript" src="js/boot.js"></script>
<script type="text/javascript">

setTimeout(function () {
    $.ajax({
        url: "***",
        type: 'GET',
        data: { usr: localStorage["userName"],
            pwd: localStorage["userPassword"]
        },
        beforeSend: function () {
            $('#statusError').html('<center><div style="color:black !important; font-weight:bold font-size:20px"><img class="loading" src="images/loader.gif" align="middle" style="margin-bottom:25px;"/> LOADING</div></center>');
        },
        timeout: 10000,
        success: function (data) {
            bb.pushScreen('login.htm', 'login');
            if (!isPlaybook()) {
                unlockOrientation();
            }
        },
        error: function (jqXHR, textStatus, errorThrown) {
            $('#statusError').html('An Error Has Occured. Please Try Again');
            console.log(errorThrown);
            console.log(textStatus);
            localStorage.clear();
            bb.pushScreen('login.htm', 'login');
            unlockOrientation()
        }
    });
}, 5000);

$(window).resize(function () {
    $('#logo').css({
        position: 'absolute',
        left: ($(window).width() - $('#logo').outerWidth()) / 2,
        top: ($(window).height() - $('#logo').outerHeight()) / 2
    });
});

$(window).resize();

</script>
<div id="logo" style="display:none">
<img  src="images/image.gif" />
</div>                 
</div>

Boot.js

var service = "****";
var locked = false;

function rotateAndLock() {
if (!locked) {
    blackberry.app.lockOrientation('portrait-primary');
    locked = true;
}
}

function unlockOrientation() {
    blackberry.app.unlockOrientation();
    isLocked = false;
}

运行时,我无法在我的应用上看到image.gif。我得到错误说$ .ajax是未定义的变量。请指教。

1 个答案:

答案 0 :(得分:0)

$通常用作对jQuery库的引用,该库有一个ajax库。