在index.html中调用加载时调用js函数的问题

时间:2014-08-26 15:01:42

标签: javascript jquery ibm-mobilefirst

我想在index.html加载时调用js函数。

这个js函数在main.js文件中定义。

我可以使用以下方式调用它

           <input type="button" value="Submit" onclick="getSecretData()" />

但我希望每次加载index.html(而不是按钮)时调用此函数

我尝试了以下代码。它不起作用。你能帮忙吗?

                index.html 

    <script>
        $(document).ready(function() {

        getSecretData();


        });
        </script>


    main.js 

        function getSecretData(){
    var invocationData = {
        adapter: "DummyAdapter",
        procedure: "getSecretData",
        parameters: []
    };

    WL.Client.invokeProcedure(invocationData, {
        onSuccess: getSecretData_Callback,
        onFailure: getSecretData_Callback
    });
    }

    function getSecretData_Callback(response){
    alert("getSecretData_Callback response :: " + JSON.stringify(response));
    }

谢谢

2 个答案:

答案 0 :(得分:0)

您正在使用Worklight。 Did you read the training materials

此处给出的其他答案可能对您有用,但由于您使用的是Worklight,因此您应该采用更适合基于Worklight的应用程序的方法。

在Worklight应用程序中,共同的\ js \ main.js中有wlCommonInit() 如果您想在启动应用时运行一些代码,请将其放在那里。

function wlCommonInit() {
    myFunction();
}

function myFunction(){
    // whatever you want to run...
}

但请注意,在应用程序启动时调用适配器并不聪明。适配器需要连接到Worklight Server,因此您要做的是首先尝试使用WL.Client.connect连接到服务器,如果成功,只需通过connect onSuccess调用适配器回调。

WL.Client.connect({onSuccess: myFunction, onFailure: connectionFailure});

例如:

function wlCommonInit() {
    WL.Client.connect({
        onSuccess: myFunction,
        onFailure: connectionFailure
    });        
}

function myFunction(){
    // whatever you want to run...
}

function connectionFailure(){
    // ...
}

答案 1 :(得分:0)

你可以试试这个。

document.querySelector('body').addEventListener("load", getSecretData, false);

有关详情,建议您阅读this previous answerMDN's page