如何在页面加载时启动Phonegap Custom Dialog?

时间:2011-04-22 14:33:55

标签: javascript cordova

我正在尝试在页面加载时加载Phonegap自定义对话框。大多数过程都在工作(计数器增量,数据被保存,但没有对话框启动。)

这是我的代码

enter code here
function onConfirm(button) {
            if (button == 2){

                window.open ("http://Google.com");

            }
        }

        // Show a custom confirmation dialog
        //
        function showPrompt() {
            navigator.notification.confirm(
                                           'Do you want to search with Google?',  // message
                                           onConfirm,              // callback to invoke with index of button pressed
                                           'Search with Google',            // title
                                           'No Thanks, Yes'          // buttonLabels
                                           );
        }

        function onBodyLoad()
        {
            document.addEventListener("deviceready",onDeviceReady,false);

            var timesRun = localStorage.getItem("TR");
            if (timesRun==null){
            timesRun=0;
            localStorage.setItem("TR", 0);}

        timesRun = parseInt(timesRun)+1;
        localStorage.setItem("TR", timesRun);
       // alert('Times Run ' + timesRun);
        if (timesRun >= 2){
            //alert('launching');
            showPrompt();

        }


    }
enter code here

我正在使用Phonegap 0.9.4。有趣的是,如果showPrompt()被另一个方法(单击按钮)调用,它可以正常工作。

非常感谢任何帮助。

谢谢

1 个答案:

答案 0 :(得分:3)

我认为您需要移动“document.addEventListener(”deviceready“,onDeviceReady,false)之后列出的JavaScript;”行到一个实际的onDeviceReady函数。换句话说,在onBodyLoad函数之后添加一个“function onDeviceReady()”,并将其放入其中:

    var timesRun = localStorage.getItem("TR");
         if (timesRun==null){
         timesRun=0;
         localStorage.setItem("TR", 0);}
      timesRun = parseInt(timesRun)+1;
     localStorage.setItem("TR", timesRun);
    // alert('Times Run ' + timesRun);
     if (timesRun >= 2){
         //alert('launching');
         showPrompt();