新来的.

我想做一个非常轻和简单的"网页应用程序"使用一个超文本标记语言的文件. 在它的内部,有一个脚本代码,所以它可以很容易地通过简单的复制/粘贴来共享,并且任何想要判断代码的人都可以通过避免下载多个初始文件来判断代码.

我不想要任何必要的依赖或任何其他步骤,只是双击启动它,只是一个单一的文件,我们可以很容易地使用任何现代浏览器运行,并轻松判断代码的人害怕潜在的病毒只需做一个右击/打开记事本(++). 更糟糕的是,第一次运行时只有一个外部API,因为它无论如何都需要下载数据才能在视觉上可用.

为了可视化我想要的,这是一个基本的Electron 表格风格的核对表使用HTML的表格或简单的css等,但与每个项目的图像和一个背景,主要图标等,连同保存哪些项目已被选中,如果可能,有多个"保存文件"(文本或ini),用户可以保存和加载.

目标是显示本地打开的HTML文件中的网页,第一个任务是判断是否已经下载了所需的图像(这样它们就不需要每次都通过第三方服务器获取,他们可能不会喜欢),以及要加载的保存的用户数据. 我想避免IndexedDB API,因为我希望用户能够随意交换浏览器而不会丢失数据,而是甚至能够通过复制html文件+其文件夹这样简单的操作在另一台机器上使用它.

但这就是我遇到问题的地方,或者,我只找到完全不相关的答案,或者非常具体,或者只是关于如何使用第三方东西的东西,比如API,对于离线和单个初始文件来说,这些东西不会像我希望的那样工作.

显然,HTML语言及其嵌入的Java脚本根本不喜欢处理客户端存储. 但大多数都是从服务器上获取的超文本标记语言,一个普通的互联网网页,或者是我们自己的超文本标记语言文件,来自‘file://’而不是‘Http(S)’? 本地启动的HTML文件的Java脚本是否允许判断现有的文件/文件夹,就像独立的Java脚本已经允许的那样,并下载、读取和写入它们? 或者,我应该放弃使用HTML文件作为基础的 idea 吗?

请注意,这是我第一次在这里提问,我已经读了很多答案,但以前从来不需要创建一个账号来提问. 我希望这个问题是正确的.

提前谢谢!

我try 了很多方法,比如= require('fs');(varconst都是大小写的变种),这显然不适用于客户端.

= new ActiveXObject("Scripting.FileSystemObject");个 以及FolderExists()CreateTextFile()附近的多个其他答案,这些答案也是针对服务器端或HTML环境外的Java脚本的.

localStorage.setItem()localStorage.getItem依赖于浏览器,显然"会话存储"在这里不起作用. 任何与缓存有关的内容都是如此.

推荐答案

您是正确的,出于安全原因,在网页中运行的脚本不能从您的文件系统中读取文件.实现跨浏览器工作的永久存储的唯一方法是将数据保存在Web服务器上,并通过Web请求让您的Java代码读取和写入数据.

仅限本地的解决方案可能是要求用户通过file upload api手动加载数据,并通过每次生成download button来手动保存数据

Javascript相关问答推荐

我无法在NightWatch.js测试中获取完整的Chrome浏览器控制台日志(log)

react/redux中的formData在expressjs中返回未定义的req.params.id

使用下表中所示的值初始化一个二维数组

按下同意按钮与 puppeteer 师

使用Promise.All并发解决时,每个promise 的线性时间增加?

编剧如何获得一个div内的所有链接,然后判断每个链接是否都会得到200?

使用js构造一个html<;ath&>元素并不能使其正确呈现

如何在JAVASCRIPT中合并两组对象并返回一些键

在不删除代码的情况下禁用Java弹出功能WordPress

自定义图表工具提示以仅显示Y值

如果没有页面重新加载Angular ,innerHTML属性绑定不会更新

是否可以将Select()和Sample()与Mongoose结合使用?

如何找到带有特定文本和测试ID的div?

React Refs不与高阶组件(HOC)中的动态生成组件一起工作

如何使用[ModelJSON,ArrayBuffer]调用tf.loadGraphModelSync

未找到用于 Select 器的元素:in( puppeteer 师错误)

如何在css中裁剪成一定Angular 的圆的一部分,而不需要复杂的多边形

JavaScript -如何跳过某个字符(S)来打乱字符串中的字符

如何在函数组件中保留对计时器的引用

元素类型无效:应为字符串(对于内置组件)或类/函数(对于复合组件),但GET:Object.在Reaction项目中