- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想编写一个应该在本地使用的简单 HTML/js 应用程序。它使用 localStorage
来存储数据。但由于 Crome 和 Edge 的安全政策,我不能使用它。在 Chromium 浏览器中它工作正常。
所以问题是如何让我的脚本在那些浏览器中工作?我想在不同的机器上使用它,所以使用本地网络服务器对我来说不是一个好的解决方案。我不允许(也不想)在这些机器上安装额外的软件。
UPD 0.假设我们有一个包含以下内容的文件 app.html
:
<script>
window.onload = function () {
try {
localStorage;
}
catch (e) {
console.error("local storage is not available");
return;
}
console.log("this text is never shown in Chrome and Edge");
}
</script>
然后我们用浏览器打开它,按 F12,选择 js console 并查看结果。我不想看到任何错误消息。
UPD 1.说“本地”是指使用了 file:// 协议(protocol)。不是本地网络服务器。
最佳答案
But I cannot use it because of Crome's and Edge's security politics
您是说某些 Chrome 和 Edge 的安全政策会阻止您使用本地存储吗?如果是这样,请解释更多细节。
要在 Microsoft 浏览器中使用本地存储,我们不应阻止浏览器使用 cookie。请引用以下步骤启用它:
更多启用LocalStorage的详细步骤,请查看this article或 this link .
编辑:
使用LocalStorage请引用以下代码:
window.onload = function () {
try {
//check if Browser support storage.
if (typeof (Storage) !== "undefined") {
// Code for localStorage/sessionStorage.
//check if localStorage contains the clickcount
if (localStorage.clickcount) {
//if contains the clickcount key, modify its value.
localStorage.clickcount = Number(localStorage.clickcount) + 1;
} else {
//else set the default value.
localStorage.clickcount = 1;
}
console.log(localStorage.clickcount);
} else {
// Sorry! No Web Storage support..
console.log("Sorry! This version of Browser not support LocalStorage")
}
}
catch (e) {
console.error("local storage is not available");
return;
}
console.log("this text is never shown in Chrome and Edge");
}
更多详情请查看this tutorial .
编辑 2:
localStorage 或 sessionStorage 特定于页面的协议(protocol)。如果我们使用 file://
协议(protocol)(如果 origin 使用 file: 或 data: 方案),将导致 SecurityError,因此 LocalStorage 无法正常工作。
所以请将您的网页托管到网络服务器(如:IIS),然后访问它。
更多详细信息,请查看Window.localStorage .
关于javascript - 如何在装有 Crome 或 Microsoft Edge 的本地机器上使用 localStorage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59282809/
我在使用 Sphero 和 iOS 7 时遇到了问题。就像快速入门指南中所说的那样,由于 1.6 发行说明本应包含启动新项目的说明,但没有说明说明,因此我使用了“集成到现有项目”选项卡中,我将部署目标
我在 iOS 8 和更高版本的 iPad 中遇到方向问题。我的应用程序需要 iPad 中的横向右和横向左方向。但在 iOS 8 的 iPad 中,它仅支持横向右方向。如果您尝试更改方向,状态栏的方向会
我的主要目标是试验 Cassandra 集群。我有一台笔记本电脑,所以我的选择是,据我所知,(1)使用一些虚拟化软件(例如 Hyper-V)创建多个 VM,然后使用 Cassandra 实例运行每个
我从我的应用程序的用户那里收到了很多崩溃报告,如下所示: Application Specific Information: *** Terminating app due to uncaught e
我已将 iPhone 升级到 iOS 6,但目前使用的是 Xcode 4.2(在 Snow Leopard 上)。现在我收到此错误消息: The version of iOS on “xxx xxx”
我有一个应用程序,其中显示了一个 UIImagePickerController 并且我需要隐藏状态栏。我用来隐藏它的方法适用于 6.X 操作系统的 iOS 设备和 7.0 的 iPhone/iPod
我们有一个网络应用程序: 应用程序必须在 iPad 上运行。但是当用户试图从 iCloud Drive 中选择 PDF 文件时,问题就出现了。所有文件都可用。 Image/* 工作正常(它使所有非图
我在 App Store 审核我的应用程序时遇到了一些问题。那不是我的第一个应用程序,但我就是无法得到错误。 该应用程序可在真实设备 (iPhone 5S) 上正常运行,无一异常(exception)
是否可以让 Java 6 在装有 Mac OS X 10.4 的 Mac PowerPC 上运行?据我所知SoyLatte仅适用于 Intel 处理器。 最佳答案 截至 2009 年 12 月,用于
使用 ESB 4.9.0 打包的 AXIS2Server 在 4.8.0 正常工作时无法启动...任何帮助 您好,我在 Win 7 OS 64-it 上运行 ESB 4.9.0。假设我的 esb 在以
Apple Watch 1 崩溃 dyld: lazy symbol binding failed: Symbol not found: _WKExtensionMain Referenced fr
我是一名优秀的程序员,十分优秀!