V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
dadazhang
V2EX  ›  问与答

js 怎么判断浏览器无痕模式

  •  
  •   dadazhang · Jul 3, 2019 · 6928 views
    This topic created in 2500 days ago, the information mentioned may be changed or developed.

    请问在 js 中怎么判断手机浏览器是否开启了无痕模式、隐私模式

    21 replies    2019-07-04 17:02:38 +08:00
    whypool
        1
    whypool  
       Jul 3, 2019   ❤️ 5
    window.confirm('就是问一下是不是隐私模式?')
    Jirajine
        2
    Jirajine  
       Jul 3, 2019 via Android   ❤️ 14
    有这个需求的我感觉都没好事。
    robinlovemaggie
        3
    robinlovemaggie  
       Jul 3, 2019
    自己写一个浏览器给用户用, 他干什么都可以知道。
    wolfie
        4
    wolfie  
       Jul 3, 2019
    看到 PC 端判断代码,好奇应用场景。
    7654
        5
    7654  
       Jul 3, 2019
    浏览器出个隐私模式容易吗
    azh7138m
        7
    azh7138m  
       Jul 3, 2019   ❤️ 1
    Mozilla 在 2017 年的收入为 5.62 亿美元,我们都算做 Firefox 的,Firefox 的市场占有率在 8%左右,那么整个市场规模大概 70 刀,按估值是 20 倍营收来算,考虑到 “资本家为了 300%的利润率可以冒上断头台的危险”,只要 70 * 20 * 3 亿刀,买这些浏览器都买下,就可以让全世界的浏览器给自己提供私有 api 啦。
    dadazhang
        9
    dadazhang  
    OP
       Jul 3, 2019
    @RoshanWu
    @Tonni
    感谢回复
    mumbler
        10
    mumbler  
       Jul 3, 2019
    @azh7138m 那以后谁做个浏览器,就可以敲诈大佬钱了
    azh7138m
        11
    azh7138m  
       Jul 3, 2019
    @mumbler 按照市场占有率算得,自己做浏览器没有占有率的


    没看懂楼主在感谢什么,那些检测写的又不对。
    cjc2017
        12
    cjc2017  
       Jul 3, 2019
    无痕情况下 windwo.localStorage 还是 sessionStorage 会抛出错误 可以尝试以此为判断条件
    cjc2017
        13
    cjc2017  
       Jul 3, 2019
    原来上面已经有大佬 po 出代码 打扰了
    mugglezzz
        14
    mugglezzz  
       Jul 3, 2019   ❤️ 1
    @azh7138m #11 我看懂了,大概楼主在感谢他认为对他有用的回复,或者说认真对他的问题回复的人;而其他说话阴阳怪气文不对题的人就不用感谢啦
    azh7138m
        15
    azh7138m  
       Jul 3, 2019
    @mugglezzz

    上面贴出的代码,仅在部分版本的浏览器会报错,实际上并没有用(指 并不能用作 生产)。他们(指 https://study.congcong.us/t/579610#r_7570232 https://study.congcong.us/t/579610#r_7570379 )贴出的代码,我看过了,也测试过了。
    同样,我认为最靠谱的方式就是收购浏览器。
    这个说法是有来源的,chrome 哪怕在隐身模式下也会发送设备 id 给 Google,这个设备 id 在访问 Google 的网站时会携带。
    phpcyy
        16
    phpcyy  
       Jul 3, 2019
    @cjc2017 我在 chrome 下试过了,localStorage 和 sessionStorage 可以用啊
    mywaiting
        19
    mywaiting  
       Jul 4, 2019
    楼上说收购浏览器的,真会抖机灵

    以 chrome 为例,如果你有仔细 debug 过常规模式和无痕模式的区别,我想你一定能想出很多方法来区分是否运行在无痕模式下

    碍于利益相关,不想明白说,楼主可以自己仔细对比 常规模式的浏览器和无痕模式的浏览器到底有哪些区别,可以列出一个很长很长的列表的,把这个列表每一项想想有什么 hack 的方法,就能找到一堆区分两者的实现了,即使是近似的方式,那对于无痕模式也有极高(超过九成)的识别率,特定浏览器和方法能百分百确定
    s4nd
        20
    s4nd  
       Jul 4, 2019 via Android
    我看到过一个这种代码,待会找找
    cjc2017
        21
    cjc2017  
       Jul 4, 2019
    @phpcyy 我当时的场景是用户开启了无痕模式导致存储信息操作失败并且报错 挺久以前的事情 估计浏览器更新迭代把这个报错取消了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   978 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 19:24 · PVG 03:24 · LAX 12:24 · JFK 15:24
    ♥ Do have faith in what you're doing.