将 jQuery Mobile 与 Django 结合使用:在页面转换期间,基本脚本似乎加载正常,但从一个页面到下一个页面,标题下的新页面脚本不会在浏览器中加载。
更具体地说:
- 我通过输入网址加载主页,一切正常。
- 我通过单击主页中的链接加载下一页,然后 DOM 加载,但与页眉中的页面关联的脚本, 不要加载。
- 如果我刷新此页面,或者输入此页面的 URL 直接在浏览器中(绕过页面转换),页面 按应有的方式加载脚本。
我知道jquery mobile尝试使用ajax实现页面转换,但我希望我可以将脚本保留在页眉/页脚中。我不想将脚本放在 <div data-role="page" >
下
最佳答案
这是因为 jQuery Mobile 仅加载 DOM 中第一个 data-role="page"
元素内的代码。
您可以选择以下几个选项来解决此问题:
- 您可以将页面特定的 JS 放入
data-role="page"
元素中,这样当 jQuery Mobile 通过 AJAX 加载页面时就会加载该 JS。 - 您可以将所有代码放在一个 JS 文件中,并将其包含在网站的每个页面中,它只会在全页刷新时加载,但这样您网站的所有代码将始终可用(在缩小和压缩之后,您确实必须有大量代码才能降低效率)。
我确信还有其他方法,但这里有一些我已经为我工作过的方法。
关于jQuery Mobile 不加载新页面脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9418309/