PhoneGap和JQM链接页面

时间:2013-07-02 06:19:26

标签: android ajax jquery-mobile cordova

我正在使用android webapp我正在使用phoneGap v2.9.0和JQM V1.3.1 在index.html页面中,两个框架的initilaziation成功我能够使用

之后的JQM
 document.addEventListener("deviceready", onDeviceReady, false);

当链接到外部页面时,但是在同一个项目中可以说contact.html两个框架的初始化失败,并且没有能力使用它们中的任何一个 我检查了有关链接外部页面的JQM文档 JQM documentation for linking pages

他们解释说JQM中的链接过程是通过Ajax请求完成的如果Ajax请求成功,新的页面内容将被添加到DOM中 这是否意味着contact.html中包含的所有脚本都被加载到索引页面?这意味着我可能有每个库和脚本的重复?

2 个答案:

答案 0 :(得分:3)

要了解这种情况,您需要了解jQuery Mobile的工作原理。它使用ajax加载其他页面。

第一页正常加载。其 HEAD BODY 已加载到 DOM 中,他们在那里等待其他人内容。加载第二页后, BODY 内容会加载到 DOM

这就是为什么您的按钮成功显示但点击事件无效的原因。在页面转换期间忽略其父 HEAD 的同一点击事件。

以下是官方文档:http://jquerymobile.com/demos/1.2.0/docs/pages/page-links.html

不幸的是,你不会在他们的文档中找到这个描述。以太他们认为这是一种常识,或者他们忘记将其描述为我的其他主题。 (jQuery Mobile文档很大但缺少很多东西)。

  1. 将所有JavaScript放入第一个HTML / ASP文件
  2. 将您的JavaScript移至<body>;更准确地说,将其移至<div> data-role="page"。正如我已经指出的那样,这是将要加载的页面的唯一部分。
  3. 在页面之间切换时使用rel="external",因为它会触发整页刷新。基本上,您可以通过jQuery mobile将该页面充当普通的Web应用程序。
  4. 编辑:

    可以在此博客 ARTICLE 中找到工作示例,以保持透明,这是我的博客。

答案 1 :(得分:0)

使用 Childbrowser插件

window.location.href="";