V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
black11black
V2EX  ›  问与答

Windows 操作系统中, Chrome 有没有办法读写硬盘文件?

  •  
  •   black11black · 2020-12-20 08:00:40 +08:00 via Android · 2070 次点击
    这是一个创建于 1467 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题,想到一个需求,是能否把桌面应用放到浏览器里,并实现完全相同功能,这样的好处是,相比于传统软件所有互联网用户不用下载安装就能使用。

    比如这样一个场景是,谷歌地图这类应用,如果能在 windows 开辟一个独立文件夹,缓存地图数据。这样就不用每次重新加载网页就重新下载一次数据,可以分散服务器压力?(而且仍然在网页中访问,不用单独下载安装一个谷歌地球了)

    不局限 chrome,问题适用于所有浏览器。cookies 是可以修改,不过 cookies 无法存储大文件吧,比如地球这种,全部缓存的话可能到 T 的级别
    love
        1
    love  
       2020-12-20 08:11:41 +08:00 via Android
    浏览器的存储机制你就知道一个 cookie😂
    loading
        2
    loading  
       2020-12-20 08:17:09 +08:00 via Android
    比 cookie 大的是 localStorage 。
    不过你可以了解一下 node.js 然后就是 electron 了。这两个和你的想法很像,然后你也能知道你想法为什么有些实现不了。
    black11black
        3
    black11black  
    OP
       2020-12-20 08:18:11 +08:00 via Android
    @love 因为我只用过 cookies 存登录令牌,大佬懂得多大佬讲讲?主要矛盾还是浏览器处于沙箱环境,是否有 api 可以影响外部。
    black11black
        4
    black11black  
    OP
       2020-12-20 08:20:30 +08:00 via Android
    @loading 为什么实现不了你直接说不就完事了,我开发过 node 项目,我不了解为什么实现不了。
    zhigang1992
        5
    zhigang1992  
       2020-12-20 08:33:43 +08:00
    loading
        6
    loading  
       2020-12-20 09:08:09 +08:00 via Android
    @black11black 惹不起
    CamD
        7
    CamD  
       2020-12-20 09:45:08 +08:00 via iPhone
    pwa 应用?
    janus77
        8
    janus77  
       2020-12-20 09:52:01 +08:00 via iPhone
    你进死角了
    如果不用联网就可以用,那为什么还需要浏览器?
    客户端不就是你想要的么
    tlday
        9
    tlday  
       2020-12-20 10:18:24 +08:00
    chrome 地址栏输入:
    chrome://apps/
    tlday
        11
    tlday  
       2020-12-20 10:53:43 +08:00
    你的场景跟 extension 是契合的。如果不想以 extension 的模式来用,也有 filesystem API 可以用,Chrome 文档上面有人贴了,我贴个 Firefox 的: https://developer.mozilla.org/en-US/docs/Web/API/File_and_Directory_Entries_API,最后有浏览器兼容性列表。

    filesystem API 的鲜明例子就是 mega.nz ,不过 mega.nz 对 filesystem API 的应用是因为下载的东西要在本地作解密,他们的宣传点就是上传下载过程中的加密传输:
    https://www.reddit.com/r/webdev/comments/2f6yfh/how_does_the_interesting_httpsmegaconz_download/

    顺便贴个浏览器 storage 配额限制:
    https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API/Browser_storage_limits_and_eviction_criteria
    https://chromium.googlesource.com/chromium/src/+/refs/heads/master/storage/browser/quota/quota_settings.cc#77
    black11black
        12
    black11black  
    OP
       2020-12-20 21:53:08 +08:00 via Android
    @tlday 感谢回复,所以在存储 api 使用限制方面,最多利用硬盘 50%的空间,且单个域名最多用 2g ?感觉不具备实用性啊
    black11black
        13
    black11black  
    OP
       2020-12-20 21:53:47 +08:00 via Android
    @loading block 了
    datoujiejie221
        14
    datoujiejie221  
       2020-12-20 22:16:27 +08:00 via iPhone
    这不就是 chrome app 么,好像都被谷歌放弃支持了
    loading
        15
    loading  
       2020-12-20 22:54:57 +08:00 via Android
    这不回复个 block 我都感觉不太行。
    akira
        16
    akira  
       2020-12-20 22:56:10 +08:00
    chromebook?
    dingwen07
        17
    dingwen07  
       2020-12-21 00:36:32 +08:00 via iPhone
    缓存大量数据是可以的,Gmail 甚至可以缓存你的所有邮件加附件
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2750 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:19 · PVG 23:19 · LAX 07:19 · JFK 10:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.