繁体   English   中英

为什么querySelector(JavaScript)无法与Internet Explorer一起使用?

[英]Why the querySelector (JavaScript) doesn't work with Internet Explorer?

我下面有以下代码,应该将值从一个HTML页面传递到另一个HTML页面。 该代码可在Firefox上正常运行,但不适用于IE11。能否请您告诉我为什么代码不起作用? 提前致谢

表格

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>OrderUp</title>
</head>

<body>
     <form method="get" action="results.html" >  
    Name : <input name = "name" type= "text" id="name">
    <br>
    <input value = "Submit" type = "submit" >
 </form>
</body>
</Html>

结果HTML

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Results</title>
</head>
<body>
    <h2> Your Form Has Been Submitted </h2>
<div class = "first"> Name: </div>
<script>
   let params = (new URL(document.location)).searchParams;
   let name = params.get("name");
   console.log(name) 
   document.querySelector('.first').innerText += name;
</script>
</body>
</html>

您遇到的问题是您使用的是IE11不支持的功能(let,URL API)。 查看我的评论。 以下在IE11中对我有用。 它基于此stackoverflow post 相反,如果您想使用ES6语法,则可以尝试将ES6转换为ES5。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Results</title>
    <script>
var parseQueryString = function() {
    var str = window.location.search;
    var objURL = {};

    str.replace(
        new RegExp( "([^?=&]+)(=([^&]*))?", "g" ),
        function( $0, $1, $2, $3 ){
            objURL[ $1 ] = $3;
        }
    );
    return objURL;
};
    </script>
</head>
<body>
    <h2> Your Form Has Been Submitted </h2>
<div class = "first"> Name: </div>
<script>
   var params = parseQueryString();
   var name = params["name"];
   console.log(name) 
   document.querySelector('.first').innerText += name;
</script>
</body>
</html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM