【问题标题】:Jquery mobile weird thingjquery mobile 奇怪的东西
【发布时间】:2013-02-05 15:08:38
【问题描述】:

我刚刚编写了我的第一个非常基本的 Jquery Mobile 网站,它只有两个页面。

第二页(可能是第一页)使用galleria幻灯片,它有自己的js文件。

发生的非常奇怪的事情是,如果我先加载第 2 页,它运行得非常好。但是,如果我运行第 1 页,然后单击第 2 页的链接,它会挂在第 1 页上,并且有一个 js 控制台错误,说 Galleria 未定义。 通过在第 1 页中包含 Galleria js 文件,我克服了错误,然后一切正常。

所以问题是我为什么需要这样做?当然,除了链接之外,这两个页面没有任何联系。对这种奇怪行为有任何想法/想法/解释吗?

【问题讨论】:

  • 您可以发布任何内容来说明问题吗?您实际上是在加载第 2 页还是将其 ajaxing 到第 1 页

标签: jquery-mobile galleria


【解决方案1】:

这不是一个奇怪的行为,这正是 jQuery Mobile 的工作原理。事实上,jQM 在加载第一页后,使用 AJAX 加载其他页面并将它们的主体注入到第一页中。如果您想验证这一事实,请使用 DOM 检查器。也就是说,其他页面的<head> 部分永远不会加载。为了解决这个问题,你必须在你使用的每个文件中包含 Galleria 库,或者使用 PHP include 之类的东西(更好)。

【讨论】:

  • 谢谢,这就解释了。干得好,我通过试错偶然发现了正确的解决方案。但似乎在加载的第一页中包含所有 js 的负担很重,即使它不需要全部。我猜有人会告诉我有一种方法可以仅在您真正需要 js 文件时才加载它们。
  • 我刚刚阅读了一些我以前应该读过的文档介绍。我现在使用 `data-ajax="false" ` 来停止第 2 页的 ajax 加载,这意味着我可以减小第 1 页的加载大小,这正是我想要的。
  • 是的,您还应该添加该属性;)
猜你喜欢
  • 1970-01-01
  • 2017-12-08
  • 1970-01-01
  • 1970-01-01
  • 2011-07-11
  • 1970-01-01
  • 1970-01-01
  • 2022-11-11
  • 2020-11-02
相关资源
最近更新 更多