jQuery mobile没有加载新的页面脚本

时间:2012-02-23 17:45:19

标签: jquery django jquery-mobile django-templates transitions

在Django中使用jQuery Mobile:在页面转换期间,基本脚本似乎正常加载,但是从一个页面转到下一个页面,标题下的新页面脚本不会在浏览器中加载。

更具体一点:

  1. 我通过输入网址加载我的主页,一切正常。
  2. 我点击主页内的链接加载下一页,然后点击 DOM加载,但与页眉中的页面关联的脚本, 不加载。
  3. 如果我刷新此页面,或者输入此页面的URL 在浏览器中直接(绕过页面过渡),页面 以它应该的方式加载脚本。
  4. 我知道jquery mobile尝试使用ajax实现页面转换,但我希望我能将脚本保存在页眉/页脚中。我不想把脚本放在<div data-role="page" >

3 个答案:

答案 0 :(得分:12)

这是因为jQuery Mobile只加载DOM中第一个data-role="page"元素内的代码。

您可以选择以下几种方法来解决此问题:

  1. 您可以将特定于页面的JS放在data-role="page"元素中,以便在jQuery Mobile通过AJAX加载页面时加载它。
  2. 您可以将所有代码放在一个JS文件中并将其包含在网站的每个页面中,它只会在整页刷新时加载,但这样一来,您网站的所有代码都会一直可用(在缩小和压缩之后,你真的必须有很多代码才能降低效率)。
  3. 我确定还有其他方法,但这里有一对我为我工作过。

答案 1 :(得分:5)

如果您只有一个或两个页面需要JS加载,这就是我所做的。您网站上链接到该页面的任何链接都应该被迫“加载”新页面。

将此添加到链接

rel="external"

答案 2 :(得分:3)

我尝试将此添加到链接中,它对我有用

target="_parent"

当我将其添加到我的链接中时(我仍然使用rel =“external”)它帮助了,并且其他页面加载了所有脚本的完整:)

相关问题