V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kensoz
V2EX  ›  前端开发

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

  •  
  •   kensoz · 2021-09-03 18:37:09 +08:00 · 1591 次点击
    这是一个创建于 1183 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    15 条回复    2021-09-06 15:08:46 +08:00
    noe132
        1
    noe132  
       2021-09-03 18:53:42 +08:00
    浏览器没有用户操作是不可能产生这种操作的。如果有这种权限,那么别人就能直接改你硬盘上的文件,你就不怕那天打开个网站电脑上就多了个木马?
    renmu123
        2
    renmu123  
       2021-09-03 18:54:46 +08:00 via Android   ❤️ 1
    想保存到本地必会出现保存框,除非你们自己搞个浏览器
    Trim21
        3
    Trim21  
       2021-09-03 18:56:29 +08:00 via Android   ❤️ 1
    全程没有提示是不可能的
    mightofcode
        4
    mightofcode  
       2021-09-03 19:23:33 +08:00   ❤️ 1
    不可能
    hronro
        5
    hronro  
       2021-09-03 19:25:25 +08:00 via iPhone   ❤️ 1
    如果可以,我一定写个网页,把你的电脑硬盘塞满木马病毒
    EscYezi
        6
    EscYezi  
       2021-09-03 19:28:12 +08:00 via iPhone   ❤️ 1
    可能要借助浏览器插件
    9yu
        7
    9yu  
       2021-09-03 19:33:19 +08:00 via iPhone
    niubee1
        8
    niubee1  
       2021-09-03 20:39:28 +08:00   ❤️ 1
    你请求 nginx 一个特定的空地址,就可以在 nginx 日志里写数据了,数据放在 url 的 query string 部分。
    以前一直这样记录用户操作日志,点击区域什么的,服务端用程序清洗日志拿到数据就可以生成热力图什么的
    rabbbit
        9
    rabbbit  
       2021-09-03 21:51:50 +08:00
    rabbbit
        10
    rabbbit  
       2021-09-03 21:55:24 +08:00   ❤️ 1
    @rabbbit 不过跟你要的可能有点差距
    inframe
        11
    inframe  
       2021-09-03 22:00:07 +08:00
    数据量少的话写 localStorage 也行
    mxT52CRuqR6o5
        12
    mxT52CRuqR6o5  
       2021-09-03 22:04:10 +08:00 via Android
    正常的浏览器肯定不行,可以装插件提供本地文件写入能力,或是改版浏览器把默认下载行为修改为静默下载
    kensoz
        13
    kensoz  
    OP
       2021-09-06 15:04:31 +08:00
    @EscYezi
    谢谢,请问这个插件在配置后,可以做到没有任何提示和下载的情况下自动写入 txt 嘛,
    如果是可以透露一下这个插件名嘛。
    比如就是配置插件后,用户操作浏览器且无任何提示,过了 5 天,开机后直接点击 txt 导出的文件夹,里面 txt 已经把这 5 天的 log 记录好了。
    kensoz
        14
    kensoz  
    OP
       2021-09-06 15:05:57 +08:00
    @rabbbit
    谢谢,虽然和我这的需求有点区别,不过这个感觉也很有趣
    kensoz
        15
    kensoz  
    OP
       2021-09-06 15:08:46 +08:00
    @niubee1
    感谢,这个思路不错!有点曲线救国的意思,准备试一试。
    目前我的方案就是用 indexedDB,配合点击下载按钮导出 txt,
    不过这个方案第一需要点击操作,第二不能清除缓存。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2870 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:52 · PVG 20:52 · LAX 04:52 · JFK 07:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.