Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果有人使用IE11,我想在我的网站上显示一个文本框_Javascript_Html_Css - Fatal编程技术网

Javascript 如果有人使用IE11,我想在我的网站上显示一个文本框

Javascript 如果有人使用IE11,我想在我的网站上显示一个文本框,javascript,html,css,Javascript,Html,Css,这是我上一篇被搁置的文章的第二篇 我希望当我或某人在IE11中打开我的网站时出现一个文本框,因为我有一些问题,这些问题得到了解决。但是如果再次发生什么事情,我希望这段代码能再使用一次 在我的报告中,一个叫Zani的家伙给出了一个只对IE11有反应的代码,但它并没有正常工作。在我的IE11控制台中,它说: SCRIPT5007:无法获取未定义或空引用的属性“style” 不管我是把它放在JavaScript文件中,还是把它写成HTML 代码是: var isIE11 = !!window.MSIn

这是我上一篇被搁置的文章的第二篇

我希望当我或某人在IE11中打开我的网站时出现一个文本框,因为我有一些问题,这些问题得到了解决。但是如果再次发生什么事情,我希望这段代码能再使用一次

在我的报告中,一个叫Zani的家伙给出了一个只对IE11有反应的代码,但它并没有正常工作。在我的IE11控制台中,它说:

SCRIPT5007:无法获取未定义或空引用的属性“style”

不管我是把它放在JavaScript文件中,还是把它写成HTML

代码是:

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()">&times;</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之前等待页面加载。谢谢!这真的很有帮助!