【问题标题】:jQuery Mobile Load Content Via Ajax Before Page ShownjQuery Mobile 在页面显示之前通过 Ajax 加载内容
【发布时间】:2017-08-16 09:15:45
【问题描述】:

我对 jquery 非常有经验,但 jquery mobile 对我来说很新。我正在使用 cordova 和 jquery mobile 开发一个应用程序。

所以我在 html 中有一个多页面设置,带有切换页面的导航栏。那里一切正常,但是,当页面更改时,我需要通过 ajax 加载页面内容。

我正在设法通过对生成内容的外部 Web 服务器的发布请求来执行此操作,然后通过应用程序将其缓存在本地数据库中。我目前正在使用“pagebeforeshow”事件来执行此操作。

问题是,当用户单击菜单项时,jquery mobile 在“pagebeforeshow”中的 ajax 调用被触发之前已经切换了页面,这意味着我们在请求内容时看到了空白页面延迟。

所以我的问题是:有没有办法阻止 jquery mobile 在菜单单击时自动切换页面,以便我可以捕捉事件,获取内容,然后使用 changePage() 手动显示页面,或者是否有在转换发生之前我可以挂钩的事件吗?

所以想法是他们单击菜单项,显示全屏加载程序(有效),加载内容然后显示页面,而不是显示页面然后加载内容....

有意义吗?

【问题讨论】:

标签: javascript jquery html ajax cordova


【解决方案1】:

我的做法是不使用pagebeforeshow,而是让页面最初被初始屏幕覆盖。

然后,当启动画面被加载并显示(图像 onLoad 或类似)时,启动 AJAX 调用,一旦完成,启动画面就会淡出并显示实际内容。

【讨论】:

  • 我最后确实走上了这条路,谢谢你的回答。
猜你喜欢
  • 2014-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-23
相关资源
最近更新 更多