1

我正在使用Cordovaand做一个 ios Web 应用程序JQuery。我创建了具有 3 行列表视图的 index.html。单击该行时,该页面将更改为另一个 page.html。JS会根据点击的行向服务器请求数据并刷新page.html。现在我的问题是实施它的最佳实践是什么?我的意思是这是常规风格,因为我对前端很陌生。目前我在 index.html 中添加了锚点:

<li><a href="page.html">A Header Bars</a></li>

但是,我遇到了问题:

  1. 不知道如何获取page.html中点击的行信息
  2. 在 page.html 中,如何启动获取数据的请求?在 page.html 中,我写道:

    $(document).ready(function()
    {
        console.log("test");
        document.write("page test");
    })
    

但它没有被调用。

谢谢。

4

3 回答 3

6

如果您想要从一个页面到另一个页面的值,那么您几乎没有选择(相同的规则适用于具有多个页面的单个 jQM html 以及围绕多个 html 文件构建的 jQM 项目):

I. 在第二页使用 pagebeforeshow 并通过数据对象检索所有需要的数据。假设您有 2 个 html 文件,第一个 html 的 id 为“page1”,第二个 html 的 id 为“page2”),例如:

$('#page2').live('pagebeforeshow', function (e, data) {
    alert(data.prevPage.find('div[data-role="content"]').attr('id'));
});

二、第二种选择是创建一个将用作数据存储的共享对象:

var storeObject = {
    someValue : '1',
    anotherValue : '2'
}

这是一个最简单的解决方案,但它仅在 ajax 页面加载处于活动状态时才有效。

三、您可以使用 changePage 传递值:

$.mobile.changePage('page2.html', { dataUrl : "page2.html?paremeter=123", data : { 'paremeter' : '123' }, reloadPage : true, changeHash : true });

并像这样阅读它们:

$('#page2').live('pagebeforeshow', function (e, data) {
    var paremeter = $(this).data("url").split("?")[1];;
    paremeter = paremeter.replace("paremeter=","");   
    alert(paremeter);
});

更多信息

If you want to learn more about this topic take a look at this article. You will find several solutions with examples.

于 2012-12-18T11:45:30.363 回答
0

在这里检查这个例子,希望它会有所帮助

http://wpcertification.blogspot.com/2012/05/using-jquery-mobile-in-phonegapcordova.html

于 2012-12-18T07:30:40.480 回答
0

https://stackoverflow.com/a/16497284/3169868 answers this well. For cordova+wp8, the option with LocalStorage is easy to implement.

于 2016-02-11T06:19:06.283 回答