嵌入式JavaScript不在IE 10或11中运行(在Chrome和Firefox中运行良好)

嵌入式JavaScript不在IE 10或11中运行(在Chrome和Firefox中运行良好),javascript,jquery,html,internet-explorer,Javascript,Jquery,Html,Internet Explorer,我试图建立一个简单的网页,根据用户点击“链接”的情况,用新的内容替换 下面的代码完全符合我在Chrome和Firefox中的预期,但在IE 10或11中没有任何作用(除了将链接转换为所访问的颜色): <!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script&

我试图建立一个简单的网页,根据用户点击“链接”的情况,用新的内容替换

下面的代码完全符合我在Chrome和Firefox中的预期,但在IE 10或11中没有任何作用(除了将链接转换为所访问的颜色):

<!DOCTYPE html>

<html>
<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
    <script>
        $(document).ready(function(){
             $("#activities").click(function(){
                 $("#body").load("test02.html");
             });
        });
    </script>
</head>
<body>
    <div id="header">
        <a href="#" id="activities">Activities</a>
        <!-- this stays the same -->
    </div>
    <div id="body">
        <p>this is the content that arrives without needing prompting</p> 
        <!-- All content will be loaded here dynamically -->

    </div>
    <div id="footer">
        <!-- this stays the same -->
    </div>
</body>
</html>

$(文档).ready(函数(){
$(“#活动”)。单击(函数(){
$(“#body”).load(“test02.html”);
});
});
这是无需提示即可到达的内容

这是“test02.html”的内容:

---

你好,世界

---

我已经检查了IE中的javascript安全设置,所有设置都设置为“启用”。我还尝试将type=“text/javascript”添加到脚本标记中

通过谷歌搜索,我发现可能需要重新安装IE,我已经尝试过了

有人知道如何在IE中实现这一点吗

您的意思是
标记还是
,您是否尝试过使用以下代码阻止链接的默认行为:

$(document).ready(function(){
   $("#activities").click(function( e ){
      e.preventDefault(); //<---- add here
      $("#body").load("test02.html");
   });
}); 
$(文档).ready(函数(){
$(“#活动”)。单击(功能(e){

e、 preventDefault();//问题在于IE在“兼容性”模式下会自行中断。在这种情况下,IE自行中断的方式是无法正确查找您的
div id=“body”
元素。我认为这是我的观察错误,我认为真正的问题是
addEventListener
(因为jQuery2.x不再支持
attachEvent
,因为它不支持IE8和更早版本[或与之类似的“兼容性”模式]:

我可以复制这个问题。如果我告诉IE不要自行中断(例如,不要使用兼容模式),并将其添加到
head
元素的顶部,问题就会消失:

<meta http-equiv="X-UA-Compatible" content="IE=Edge" />

IE对intranet站点的默认设置是以“兼容性”模式显示它们

有一点我不确定,在“兼容性”模式中,它并没有混淆“元素”>代码> ID>代码>代码>“正文”< /代码>。IE有一个被这样的事情弄糊涂的历史。所以你也可以考虑<代码>正文< /代码>或类似,但是我测试过了,似乎不需要它。

旁注:您可能还想向单击处理程序添加一个
return false
e.preventDefault()
,这样它就不会跟随
链接(该链接将滚动回页面顶部并将
添加到地址栏)。

将下面的元标记添加到您的页面中

<meta http-equiv="X-UA-Compatible" content="IE=edge;chrome=1" />


IE控制台中有错误吗?我应该提到这是由我自己的IIS服务器在我网络上的另一台机器上运行提供的。IE中没有错误console@JohnCroc:我在IE控制台中收到错误,抱怨
addEventListener
不存在。这是因为在内部网上,IE有一个非常愚蠢的默认设置这让它步履蹒跚,假装是不支持标准的东西。你不会明白的???@t.J.Crowder:请忽略我上面的评论。谢谢。我的前几次尝试不起作用,但当我把标签放在标签下面,在其他标签之前,它现在起作用了。是的,还有,试试另一个名字,因为IE可能会愚蠢到把
混在一起,比如,“错误,
body
是一个保留字”或其他什么是的,对不起,我不清楚,我会编辑我原来的问题。我指的是错误。
<meta http-equiv="X-UA-Compatible" content="IE=edge;chrome=1" />