在ibm mobiefirst multiapp中加载页面时调用js函数

时间:2015-11-26 12:54:08

标签: ibm-mobilefirst

我正在尝试开发一个多页面应用程序,我可以加载许多页面但我的任务是在加载页面#2时我需要page2 函数hello 才能运行。

点击func"更改"我能够加载page2,但我需要运行函数"你好"。

main.js

var pagesHistory = [];
var currentPage = {};
var path = "";
var busyIndicator = null;


function wlCommonInit(){
    busyIndicator = new WL.BusyIndicator();

    // Special case for Windows Phone 8 only.
    if (WL.Client.getEnvironment() == WL.Environment.WINDOWS_PHONE_8) {
        path = "/www/default/";
    }

    $("#pageload").load(path + "pages/page1.html", function(){
        $.getScript(path + "js/page1.js", function() {
            if (currentPage.init) {
                currentPage.init();
            }
        });
    });
}

的index.html

<!DOCTYPE HTML>
<html>
        <head>
            <meta charset="UTF-8">
            <title>demo</title>
            <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0">
            <!--
                <link rel="shortcut icon" href="images/favicon.png">
                <link rel="apple-touch-icon" href="images/apple-touch-icon.png"> 
            -->
            <link rel="stylesheet" href="css/main.css">
            <script>window.$ = window.jQuery = WLJQ;</script>
        </head>
        <body style="display: none;">
            <div id="pageload">
            </div>

            <script src="js/initOptions.js"></script>
            <script src="js/main.js"></script>
            <script src="jquery-2.1.4.min.js"></script> 
            <script src="jquery.touchSwipe.min.js"></script>
            <script src="js/messages.js"></script>
        </body>
</html>

page1.js

currentPage = {};

currentPage.init = function(){
WL.Logger.debug("Page1 :: init");

};
function funchange()
{
    $("#pageload").load(path + "pages/page2.html");
}

page1.html

<script>
    $.getScript(path + "js/page1.js");
</script>
<input type="button" value="click" onclick="funcchange();">

Page2.js

currentPage = {};

currentPage.init = function(){
    WL.Logger.debug("Page2 :: init");

};
function hello()
{
    alert("hello");
}

page2.html

<script>
    $.getScript(path + "js/page2.js");
</script>

1 个答案:

答案 0 :(得分:0)

您只需在main.js中创建一个函数:

function wlCommonInit() {
    ...
    ...
}

function test() {
    alert ("test");
}

然后在Page2.js中,只需致电test();