嵌入式JavaScript不在IE 10或11中运行(在Chrome和Firefox中运行良好)
我试图建立一个简单的网页,根据用户点击“链接”的情况,用新的内容替换 下面的代码完全符合我在Chrome和Firefox中的预期,但在IE 10或11中没有任何作用(除了将链接转换为所访问的颜色):嵌入式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&
<!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" />