我最近安装了IE 8,似乎无法获取jquery $(document).ready事件。我有什么特别的考虑因素吗?通俗易懂,这就是我在html中所拥有的一切,它在Chrome和Firefox中按预期工作:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Page full of awesomeness</title>
<script type="text/javascript" src="~/Scripts/jquery-1.3.2.js" />
<script type="text/javascript">
$(document).ready(function() {
alert("Hello?");
});
</script>
</head>
<body>
</body>
在Internet Explorer中,页面只会加载而不会发生意外。没有警报框,我看不到任何报告的javascript错误。这是我不知道的正常事情吗?
答案 0 :(得分:32)
尝试转动它。
<script type="text/javascript" src="~/Scripts/jquery-1.3.2.js" />
进入这个
<script type="text/javascript" src="~/Scripts/jquery-1.3.2.js"></script>
答案 1 :(得分:1)
使用当前的XHTML严格标准:
即使指定了src
,脚本标记也不是空标记,并且无法写入<script src=".... />
。如果包含src
,则不应在开始标记和结束标记之间包含任何脚本,因为标记之间的任何脚本的浏览器处理都不可靠。
基本上,不要自我关闭标签。使用</script>
。
答案 2 :(得分:0)
我的猜测是这个(对不起,我没有在这台机器上测试ie8)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Page full of awesomeness</title>
<script type="text/javascript" src="~/Scripts/jquery-1.3.2.js"></script>
<script type="text/javascript">
$(document).ready(function() {
alert("Hello?");
});
</script>
</head>
<body>
</body>
如果您指的是您网站的根
,我建议您使用/Scripts/jquery-1.3.2.js
答案 3 :(得分:0)
除了其他人所说的内容之外,您还错过了文档末尾的</html>
。也许只是一个复制/粘贴错误:)
答案 4 :(得分:0)
同时检查jQuery的兼容性。目前jQuery 2.x仅支持IE9或更高版本。不是IE8
答案 5 :(得分:0)
$(document).ready()
在IE8中不起作用 我从此链接中找到了一个代码示例 https://plainjs.com/javascript/events/running-code-when-the-document-is-ready-15/ 它正在与Jquery 1.10.2一起使用
function run() {
// do something
alert('working');
}
// in case the document is already rendered
if (document.readyState!='loading') run();
// modern browsers
else if (document.addEventListener) document.addEventListener('DOMContentLoaded', run);
// IE <= 8
else document.attachEvent('onreadystatechange', function(){
if (document.readyState=='complete') run();
});