Javascript 如果有人使用IE11,我想在我的网站上显示一个文本框
这是我上一篇被搁置的文章的第二篇 我希望当我或某人在IE11中打开我的网站时出现一个文本框,因为我有一些问题,这些问题得到了解决。但是如果再次发生什么事情,我希望这段代码能再使用一次 在我的报告中,一个叫Zani的家伙给出了一个只对IE11有反应的代码,但它并没有正常工作。在我的IE11控制台中,它说: SCRIPT5007:无法获取未定义或空引用的属性“style” 不管我是把它放在JavaScript文件中,还是把它写成HTML 代码是:Javascript 如果有人使用IE11,我想在我的网站上显示一个文本框,javascript,html,css,Javascript,Html,Css,这是我上一篇被搁置的文章的第二篇 我希望当我或某人在IE11中打开我的网站时出现一个文本框,因为我有一些问题,这些问题得到了解决。但是如果再次发生什么事情,我希望这段代码能再使用一次 在我的报告中,一个叫Zani的家伙给出了一个只对IE11有反应的代码,但它并没有正常工作。在我的IE11控制台中,它说: SCRIPT5007:无法获取未定义或空引用的属性“style” 不管我是把它放在JavaScript文件中,还是把它写成HTML 代码是: var isIE11 = !!window.MSIn
var isIE11 = !!window.MSInputMethodContext && !!document.documentMode;
if(isIE11)
document.getElementById("IDOfYourElement").style.display="block";
我通常擅长HTML和CSS,但Javascript是一个完全不同的级别。我不完全确定哪里出了问题。但我认为它与风格有关,在我应该编写元素ID的地方,我已经将其更改为正确的ID,并且没有错误的语法
编辑:1
这是网站的代码
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Untitled Document</title>
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js
</script>
<link href="/CSS/Incompatible.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="/Incompatible.js"></script>
<script type="text/javascript">
var isIE11 = !!window.MSInputMethodContext && !!document.documentMode;
if(isIE11)
document.getElementById("simpleModal").style.display="block";
</script>
</head>
<body>
<button id="modalBtn" class="button" onClick="myModal()">Click
Here</button>
<div id="simpleModal" class="modal">
<div class="modal-content">
<div class="modal-header">
<span class="closeBtn" onClick="myModalHide()">×</span>
<h2>Modal Header</h2>
</div>
<div class="modal-body">
<p>Hello...I am a modal</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Nulla repellendus nisi, sunt consectetur ipsa velit repudiandae aperiam modi quisquam nihil nam asperiores doloremque mollitia dolor deleniti quibusdam nemo commodi ab.</p>
</div>
<div class="modal-footer">
<h3>Modal Footer</h3>
</div>
</div>
</div>
</body>
</html>
无标题文件
错误的意思是没有ID为IDOfYourElement
(或您在此处放置的任何ID)的元素。所以有两件事:
您没有ID为(IDOfYourElement
)或
javascript文件在加载元素之前加载
如果情况是2,那么您应该确保您的
标记包含在HTML文件的最底部,或者使用ready函数包装javascript代码
编辑
要将代码包装到就绪函数中,可以使用Jquery或纯Javascript实现这一点。下面是一些例子
使用纯Javascript
window.onload = function() {
// DOM has loaded, you can execute your JS code now.
}
使用Jquery
$( document ).ready(function() {
// DOM has loaded, you can execute your JS code now.
});
也许id“IDOfYourElement”
不存在-也许Zani不知道这个id,把它留给了你,HTML的作者(你擅长的)用你元素的id替换IDOfYourElement
。我把“IDOfYourElement”改成了simpleModal。我在我的代码中有。这个ID在你在另一个问题中发布的HTML中不存在???我现在添加了代码。我在底部添加了第2个案例,它成功了。如果我想要Javascript文件中的代码。我该如何制作就绪功能?@JessenJonas我更新了我的答案,告诉你如何在执行JS之前等待页面加载。谢谢!这真的很有帮助!