【问题标题】:jquery mobile dialog doesn't open on first page loadjquery mobile 对话框在第一页加载时未打开
【发布时间】:2012-01-22 22:25:58
【问题描述】:

根据文档,我在使用多页对话框时遇到了问题。当初次访问具有对话框(多页)的页面时,单击打开对话框的按钮时出现问题,它不起作用。但是,如果我然后刷新页面,它并再次单击按钮,对话框显示正常。这发生在所有设备上。

任何想法从哪里开始?我检查了代码验证,唯一缺少的是某些图像上的一些 alt 标签。

这是一个链接:

http://bit.ly/wTnpgi

点击画廊,然后点击“浏览画廊”

更新 1

我发现了一个有趣的结果。如果我通过链接从另一个页面访问该页面(即:从主页转到图库),则该对话框不起作用。但是,如果我通过网络浏览器地址栏直接访问 url,它确实有效。因此,它与推荐和可能的 ajax 页面加载有关。

【问题讨论】:

  • 您能发布一个链接或您尝试过的一些代码吗? jsfiddle.net
  • 我添加了一个链接。我还把代码一直剥离到只有按钮和一个空对话框,但它仍然不起作用。

标签: javascript jquery mobile jquery-mobile dialog


【解决方案1】:

我想通了。我越来越深入地阅读文档并在http://jquerymobile.com/demos/1.0a4.1/docs/pages/docs-pages.html 上偶然发现了这一段:

请务必注意,如果您从移动网页链接 通过 Ajax 加载到包含多个内部页面的页面,您 需要在链接中添加 rel="external" 或 data-ajax="false"。这 告诉框架重新加载整个页面以清除 Ajax URL 中的哈希值。这很关键,因为 Ajax 页面使用哈希 (#) 跟踪 Ajax 历史,而多个内部页面使用哈希 指示内部页面,以便哈希中存在冲突 在这两种模式之间。

例如,指向包含多个内部页面的页面的链接将 看起来像这样:多页 链接

当我将 rel 添加到推荐链接时,它可以工作。欢乐时光。

【讨论】:

  • 仅供参考,这些是 Alpha 版本的发行说明,jQM 有一个正式的 1.0 版本发布jquerymobile.com/demos/1.0
  • 对于来自表单的重定向,rel="external" 是不可能的。但是你可以使用target="_self",它可以在任何地方工作(如this answer on "rel=external for forms"所示)
  • 我发现 target="_self" 是最可靠和普遍适用的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多