$(document).ready()如何在IE 8中运行?

时间:2009-04-14 14:26:59

标签: jquery internet-explorer

我最近安装了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错误。这是我不知道的正常事情吗?

6 个答案:

答案 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();
});