【发布时间】:2014-10-07 17:06:49
【问题描述】:
第一次加载 HTML 页面时,javascript 函数不运行。但是,如果我刷新页面,脚本运行得很好。
说明:
我的索引页面有一个指向 showdata HTML 页面的按钮。 问题是,当我单击索引页面中的按钮时,我可以(在 URL 中)看到 showdata.html 页面已加载但 JS 代码没有运行(因为我看不到任何警报)。
但是,如果我手动刷新页面或点击 URL,JS 运行良好,我可以看到警报语句。
在 Chrome 和 Firefox 上试过这个,两个地方的结果都一样。
如果我没记错的话,$(function() 是 $(document).ready 的简写。无论如何,我都尝试过使用这两种语法,但结果是一样的。
页面的当前代码是:
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Test</title>
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.3/jquery.mobile-1.4.3.min.js"></script>
<script type="text/javascript">
$(function() { alert("hello"); });
</script>
</head>
<body></body>
</html>
页面首次加载时,我无法看到预期的警报框。当我重新加载页面时,警报按预期出现。
更新:
我清除了缓存但没有结果。
另外,当我删除
<script src="http://code.jquery.com/mobile/1.4.3/jquery.mobile-1.4.3.min.js"></script>
来自 index page 的标签,其中存在指向我当前页面的链接,JS 在第一次加载 showdata.html 页面时正确触发。但是,这会导致索引页面中的样式丢失。
【问题讨论】:
-
我的建议是将它放在 JSFiddle 中以进行调试。所以即使你在
get()方法之外放了一个console.log,它也不会出现? -
您的
showdata.html页面似乎有一些错误。能否请您也添加您的HTML。 -
是数据没有加载,还是 DOM 操作失败?进行更多调试以查明问题所在,并简化代码(您真的需要所有的 HTML 结构来说明问题吗?)
-
更新了我的代码的简化版本。结果还是一样。 @克里斯-马丁
-
似乎根据您的新代码,您正在加载缓存页面。如果您也在使用 PHP,请检查您的标头缓存设置,也许尝试 no-cache。
标签: javascript jquery html webpage