【发布时间】:2014-08-16 05:55:06
【问题描述】:
我面临一个非常奇怪的问题,即我的 javascript 代码在第一次加载页面时没有运行。如果我重新加载/刷新页面,脚本运行良好。
经过一番尝试后,我意识到如果我从上一页(重定向到我的当前页)中删除 jquery.mobile-1.4.3.min.js 库,那么脚本按预期运行。
谁能帮忙解释为什么会发生这种情况,我该如何解决?
更新: 在打开 hpme 页面(其中包含指向包含 JS 的页面的链接)时,我可以在控制台中看到以下错误: 未捕获的类型错误:无法设置未定义的属性“移动”。
请注意,这个主页基本上是带有库声明和 html 链接的简单代码。
编辑: 我之前错过了 jQuery 库,因此错过了 Uncaught TypeError。 现在,我的库按以下顺序排列:
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquerymobile/1.4.3/jquery.mobile.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jquerymobile/1.4.3/jquery.mobile.min.css" />
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/themes/smoothness/jquery-ui.css" />
现在我的控制台中没有错误,但下一页中的 JS 在第一次加载时仍然没有运行。奇怪的是,如果我删除 jquery.mobile-1.4.3.min.js 库,JS 工作正常。
【问题讨论】:
-
您是否在浏览器的控制台中看到任何错误?
-
是的,我可以在控制台中看到 Uncaught TypeError: Cannot set property 'mobile' of undefined error。在我的问题中更新了相同的内容。
-
尝试改变包含js文件的顺序,先包含jquery js,再包含jquery mobile的相关js。
-
在 jQuery Mobile 之前你是否包含过 jQuery 1.8+?
-
如果您收到该错误,1) 您使用的是 jQuery 1.7 或更早版本 2) 您在 jQuery 之前加载 jQuery-Mobile。
标签: javascript jquery html jquery-mobile