Blackberry Web Works每次启动应用程序时如何触发事件

时间:2012-05-11 04:24:34

标签: javascript jquery html blackberry blackberry-webworks

<html>
  <head>
    <meta name="viewport" id="viewport" content="height=device-height,width=device-width,user-scalable=no"/>
    <script type="text/javascript">
    function helloWorld() {
     alert("Hello World");
    }
    </script>
  </head>
  <body onload="helloWorld();">
   <h1>Hello World</h1>
  </body>
</html>

我使用类似于上面的Blackberry WebWorks构建了一个应用程序。每次用户打开应用程序时,我都需要触发上面的helloWorld()函数。

问题是“onload”功能仅在应用程序首次启动时触发,或者当用户通过单击“移动设备上的挂断按钮”退出应用程序时触发,而不是在单击“移动设备上的后退按钮”时触发。 / p>

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

我认为您有兴趣不仅每次启动应用程序时启动该功能,而且还会在从后台检索应用程序时启动该功能(这意味着当您的应用程序未关闭时,但它在后台运行时虽然你没有与它互动)。

我建议您使用Cordova(以前的Phonegap)并查看"resume" event。使用那里给出的例子,我认为你需要这样的东西:

<html>
<head>
  <title>Cordova Resume Example</title>

  <script type="text/javascript" charset="utf-8" src="cordova-1.7.0.js"></script>
  <script type="text/javascript" charset="utf-8">

  // Call onDeviceReady when Cordova is loaded.
  // At this point, the document has loaded but cordova-1.7.0.js has not.
  // When Cordova is loaded and talking with the native device,
  // it will call the event `deviceready`.
  function onLoad() {
    document.addEventListener("deviceready", onDeviceReady, false);
  }

  // Cordova is loaded and it is now safe to make calls Cordova methods
  function onDeviceReady() {
      document.addEventListener("resume", onResume, false);
      // Call the function you are interested in.
      helloWorld();
  }

  // Handle the resume event
  function onResume() {
    helloWorld();
  }

  function helloWorld(){
    alert('Hello World');
  }
  </script>
</head>
<body onload="onLoad()">

</body>
</html>

您可以下载所需的文件here。我没有测试代码。尝试一下,让我知道它是否适合你。