js 或前端,可能不经下载后台写入 txt 文件嘛?

2021-09-03 18:37:09 +08:00
 kensoz

业务就是需要生成 log 文件,

目前可行的是用户点击按钮,通过下载的方式,生成 log 的 txt 文件。

请问不经过下载,像服务端语言一样后台自动写入 txt 这种事情可能嘛?

就是浏览器不提示,不弹窗,不发生下载或者用户操作,txt 已经自己生成写完了。

1589 次点击
所在节点    前端开发
15 条回复
noe132
2021-09-03 18:53:42 +08:00
浏览器没有用户操作是不可能产生这种操作的。如果有这种权限,那么别人就能直接改你硬盘上的文件,你就不怕那天打开个网站电脑上就多了个木马?
renmu123
2021-09-03 18:54:46 +08:00
想保存到本地必会出现保存框,除非你们自己搞个浏览器
Trim21
2021-09-03 18:56:29 +08:00
全程没有提示是不可能的
mightofcode
2021-09-03 19:23:33 +08:00
不可能
hronro
2021-09-03 19:25:25 +08:00
如果可以,我一定写个网页,把你的电脑硬盘塞满木马病毒
EscYezi
2021-09-03 19:28:12 +08:00
可能要借助浏览器插件
9yu
2021-09-03 19:33:19 +08:00
niubee1
2021-09-03 20:39:28 +08:00
你请求 nginx 一个特定的空地址,就可以在 nginx 日志里写数据了,数据放在 url 的 query string 部分。
以前一直这样记录用户操作日志,点击区域什么的,服务端用程序清洗日志拿到数据就可以生成热力图什么的
rabbbit
2021-09-03 21:51:50 +08:00
rabbbit
2021-09-03 21:55:24 +08:00
@rabbbit 不过跟你要的可能有点差距
inframe
2021-09-03 22:00:07 +08:00
数据量少的话写 localStorage 也行
mxT52CRuqR6o5
2021-09-03 22:04:10 +08:00
正常的浏览器肯定不行,可以装插件提供本地文件写入能力,或是改版浏览器把默认下载行为修改为静默下载
kensoz
2021-09-06 15:04:31 +08:00
@EscYezi
谢谢,请问这个插件在配置后,可以做到没有任何提示和下载的情况下自动写入 txt 嘛,
如果是可以透露一下这个插件名嘛。
比如就是配置插件后,用户操作浏览器且无任何提示,过了 5 天,开机后直接点击 txt 导出的文件夹,里面 txt 已经把这 5 天的 log 记录好了。
kensoz
2021-09-06 15:05:57 +08:00
@rabbbit
谢谢,虽然和我这的需求有点区别,不过这个感觉也很有趣
kensoz
2021-09-06 15:08:46 +08:00
@niubee1
感谢,这个思路不错!有点曲线救国的意思,准备试一试。
目前我的方案就是用 indexedDB,配合点击下载按钮导出 txt,
不过这个方案第一需要点击操作,第二不能清除缓存。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/799738

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX