没有页面更改的jQueryMobile关闭对话框

时间:2015-01-27 16:55:04

标签: jquery jquery-mobile dialog

我正在使用jQM开发一个Web应用程序。它是一个带有大量脚本生成的虚拟页面的单页面应用程序。我使用了很多对话框,偶尔关闭那些对话框会让我的应用程序回到起始页面(历史记录中的3页)。

我不能做一个测试用例,因为它只发生在复杂的情况下,基于数据库,只能在idevice上,而不是在计算机上。

我发现了很多类似的问题,但都是针对jQM 1.2或更早的版本。我使用的是jQM 1.5.3。

我在我的脚本中添加了log-page-event.js工具,它给了我这个:

首先,页面已加载" visite_client-86871"

[Log] pagebeforeshow (1422376478507) (log-page-events.js, line 44)
    page: div.visite_client.ui-page.ui-page-theme-a.ui-page-header-fixed.ui-page-footer-fixed#visite_client-86871
    data-url: visite_client-86871

[Log] hashchange (1422376481313) (log-page-events.js, line 44)
    location: http://m2.biocrm.fr/#visite_client-86871

[Log] pagehide (1422376482645) (log-page-events.js, line 44)
    page: div.ui-page.ui-page-theme-a#edit_visite
    data-url: edit_visite

[Log] pageshow (1422376483145) (log-page-events.js, line 44)
    page: div.visite_client.ui-page.ui-page-theme-a.ui-page-header-fixed.ui-page-footer-fixed.ui-page-active#visite_client-86871
    data-url: visite_client-86871

[Log] pagechange (1422376483171) (log-page-events.js, line 44)
    page: div.visite_client.ui-page.ui-page-theme-a.ui-page-header-fixed.ui-page-footer-fixed.ui-page-active#visite_client-86871
    data-url: visite_client-86871

然后,我点击打开对话框:

[Log] popstate (1422376499968) (log-page-events.js, line 44)
    location: http://m2.biocrm.fr/#visite_client-86871&ui-state=dialog
    state.hash: 
[Log] hashchange (1422376501192) (log-page-events.js, line 44)
    location: http://m2.biocrm.fr/#visite_client-86871&ui-state=dialog

然后,我关闭对话框:

[Log] popstate (1422376521377) (log-page-events.js, line 44)
    location: http://m2.biocrm.fr/#visite_client-86871
    state.hash: #visite_client-86871

[Log] hashchange (1422376521403) (log-page-events.js, line 44)
    location: http://m2.biocrm.fr/#visite_client-86871

没有任何理由,它会返回主页" tournees"

[Log] pagebeforechange (1422376521407) (log-page-events.js, line 44)
    page: div.ui-page.ui-page-theme-a.ui-page-footer-fixed#tournees
    data-url: tournees

[Log] pagebeforechange (1422376521459) (log-page-events.js, line 44)
    page: div.ui-page.ui-page-theme-a.ui-page-footer-fixed#tournees
    data-url: tournees

[Log] pagebeforehide (1422376521501) (log-page-events.js, line 44)
    page: div.visite_client.ui-page.ui-page-theme-a.ui-page-header-fixed.ui-page-footer-fixed.ui-page-active#visite_client-86871
    data-url: visite_client-86871

如何检测错误原因或阻止错误? 看起来jQM在他的历史中很困惑。是否可以更准确地记录它?

非常感谢。

1 个答案:

答案 0 :(得分:0)

我通过在弹出窗口中添加data-history="false"来修复它。

我不确定某处是否有错误,但它对我有用,所以万一它可以帮助某人...