使用Edge浏览器时如何访问网页中的本地存储?

时间:2019-02-11 21:17:22

标签: javascript html local-storage microsoft-edge

当我在Firefox中运行此网页时,效果很好。当页面打开时,它从第一个框中获取一个名称,将其保存,然后在第二个框中显示该名称。它将打开,显示预期的两个名称John和Fred。在Edge中,它停在指示的localStorage.setItem行。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>data test</title>

<script>

function shift_Data() {

//find the data
var data_source = document.getElementById("data_from_here");

var data_to_save = " ";
    data_to_save = data_source.options[1].value;

//save the data
localStorage.setItem("data_saved", data_to_save);

// **** code does not get to here in the Edge browser ****

//retreive the data
var data_target = document.getElementById("data_to_here");
        data_target.innerHTML = '';

var the_data_saved = " ";

the_data_saved = localStorage.getItem("data_saved");

//display the data

    var option = document.createElement('option');
        option.textContent = the_data_saved;

    data_target.appendChild(option);
}

</script>
</head>

<body onload="shift_Data()">

<h1>data test 1</h1>

<form id="myForm">

  <select id="data_from_here">
        <option value="John">John</option>
    <option value="Fred">Fred</option>
  </select>

  <select id="data_to_here">
    <option>data is saved here</option>
  </select>

</form>

</body>

</html>

如何更改语句以在Edge中使用localStorage?

任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

我同意@Duncan Thacker的建议。

该代码不起作用,因为您的HTML文件是本地存储的。要使其与IE和Edge兼容,您需要在任何Web服务器上托管该HTML文件。

出于测试目的,您可以尝试将其托管在IIS服务器上,然后尝试访问您的页面。之后,您的代码即可与IE和Edge一起使用。

不应将其视为问题/错误,因为它是出于安全原因而发生的。

下面是一些链接,可以帮助您在Win 10上安装IIS并将站点托管在IIS上。

(1)How to Install IIS on Windows 8 or Windows 10

(2)Turn on IIS in Windows 10

(3)How to set up your first IIS Web site

(4)How to Host a Web Site in Internet Information Server manager

让我们知道,如果您在使用IE或Edge托管网站或运行本地存储示例方面仍然遇到任何问题。我们将尝试为您提供更多建议。