我应该在jQuery Mobile上创建dyminc页面吗?

时间:2013-05-31 09:21:16

标签: jquery ajax json jquery-mobile cordova

我正在制作一个phonegap / jQuery-Mobile应用程序。我从Google图书API动态列出了一个列表,深化了用户输入,例如作者姓名或书名。如果用户单击其中一个列表项,则应显示新页面,其中包含书籍详细信息以及有关该书的更多选项。

listview是一个包含缩略图和链接(到详细页面)的列表视图。我的问题是,我应该生成一个动态页面,并按照它说here附加到容器。

或者我应该制作页面模板,每次用户点击其中一个项目时,都应该使用该页面吗?

欢迎任何代码或概念构思......

2 个答案:

答案 0 :(得分:1)

我认为你应该创建一个模板页面,并在其上加载内容。您可以使用ajax请求获取所需的所有信息并将其放入模板中。

每次触摸链接时,您都会继续使用template.html。你也会有template.js。 在template.js上,您创建一个ajax请求,然后解析响应以将标题放在正确的地方。 这是responseXML

的例子
if (xmlHttpRequest.responseXML)
    {
        var title = $(xmlHttpRequest.responseXML).find("title");
        $(title).html(title);
    }

希望这能帮到你;)

答案 1 :(得分:1)

这是一个复杂的问题,它取决于一个因素。通常我会建议您动态创建所有内容,但Phonegap是不同的。

创建jQuery Mobile可以在许多不同的HTML5平台上运行,无论是桌面还是手机浏览器都无关紧要。您阅读的文章是在此基础上撰写的。不幸的是,jQuery Mobile没有针对手机执行进行优化,这是我们的第一个问题。虽然整页创建/重新创建在桌面浏览器上运行良好,但在移动浏览器上情况则完全不同。移动电话在jQuery执行方面比桌面浏览器慢10-20倍,更不用说Phonegap会让它更慢。

当动态创建页面时,它的过程大约为650毫秒,即使这样,这也是基于光页面的基准。你想要的是每次用户想要搜索某些内容时,在新页面内创建一个动态创建的列表视图。这需要时间,您的应用程序将失去可用性,更不用说用户将远离本应用程序的本机体验。

这就是为什么在使用jQuery Mobile和Phonegap或在移动浏览器中使用jQuery Mobile时总是需要使用模板。

我有一篇文章需要在jQuery Mobile应用程序中创建动态内容,所以看看here

让我们继续你的问题,你决定使用限制页面内容所需的模板。从Google服务获取数据时,我建议仅显示前50个结果。此外,用户需要等待1-2秒以上才能显示数据。我甚至会更进一步实施分页系统。

基本上现在一切都取决于你是要使用一些模板引擎还是自己做。我建议你测试一下。正如我告诉你的,Phonegap和jQuery Mobile是一个缓慢的组合,你需要找到一个最适合你的应用程序的解决方案,所以如果手动页面创建比某些模板引擎更快,不要感到惊讶。