我正在制作一个phonegap / jQuery-Mobile应用程序。我从Google图书API动态列出了一个列表,深化了用户输入,例如作者姓名或书名。如果用户单击其中一个列表项,则应显示新页面,其中包含书籍详细信息以及有关该书的更多选项。
listview是一个包含缩略图和链接(到详细页面)的列表视图。我的问题是,我应该生成一个动态页面,并按照它说here附加到容器。
或者我应该制作页面模板,每次用户点击其中一个项目时,都应该使用该页面吗?
欢迎任何代码或概念构思......
答案 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是一个缓慢的组合,你需要找到一个最适合你的应用程序的解决方案,所以如果手动页面创建比某些模板引擎更快,不要感到惊讶。