『关闭 Javascript 也能确保页面工作』是否仍是开发目标之一? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MFWT
V2EX    前端开发

『关闭 Javascript 也能确保页面工作』是否仍是开发目标之一?

  •  
  •   MFWT 360 天前 via Android 2718 次点击
    这是一个创建于 360 天前的主题,其中的信息可能已经有所发展或是发生改变。

    事情的起因是这样的:最近在制作一个页面,其中有一个 tabs 标签页,点击不同的标签,tab 变色,下面的内容也相应切换。当然,用 js 可以很容易的实现,只要到哪个被点击了触发事件,就显示隐藏某些内容,然后变色就行

    但是最近好像又看到说法说,很多网页关掉了 Javascript 之后(选择关掉 js 的好像是对隐私极度敏感的人)就是功能缺失,页面崩坏,影响浏览体验。很显然,我写的这一个 tabs 关掉 js 也是不能正常运行的

    网上当然能找到很多的纯 HTML+CSS 就能做出同样效果的,但是我看过代码,基本上都是手动编码各个情况,代码量复杂了很多,维护不便,感觉用在实际的环境中可能不太妙?

    不知道各位 V 友怎么看,是主要照顾关 js 的体验,还是说 js 不用白不用,还是说根据不同的项目而定?

    18 条回复    2025-05-27 17:31:53 +08:00
    6JSh5b6Q5Z2k
        1
    6JSh5b6Q5Z2k  
       360 天前 via iPhone
    9102 年了,还有人关注 js 关不关闭?
    GPLer
        2
    GPLer  
       360 天前 via Android
    理论上是要支持的,渐进增强,平稳退化。

    完全不考虑 js 关闭的情况,SEO 角度可能也会产生一些影响,有些搜索引擎不一定会去执行 js ,如果你的页签是动态渲染的,这部分内容可能抓不到。

    当然实际中除了内容类的网站,现在大多数网站不开 js 都用不了,所以建议交给框架/插件,根据实际场景调整。

    不过纯 HTML 、HTML + CSS 去挑战实现某些复杂功能其实挺有意思的(
    cmdOptionKana
        3
    cmdOptionKana  
       360 天前
    没必要照顾极少数对隐私极度敏感的人。
    js 也不见得带来多好的体验,不用或者少用 js 也很好。
    CSS 效果?其实多数动态效果都是干扰注意力的,很可能根本没必要。
    crysislinux
        4
    crysislinux  
       360 天前 via Android
    除非是有特殊原因,否则建议按照法律的最低标准执行。然而法律方面也只有少数国家有可访问性要求,谁管你用不用 js 。再说了,越是这种要求多的人(当然可访问性除外,别人是没办法)越是事多,钱没挣多少支持消耗的反倒多,建议完全放弃。
    wakarimasen
        5
    wakarimasen  
       360 天前   8
    你有这个工时不如去做好视障适配,他们是真的没办法。
    而不是向没事找事的人倾斜。
    vcn8yjOogEL
        6
    vcn8yjOogEL  
       360 天前
    看条件是否允许, 支持无 JS 环境属于优先级比较低的特性
    V2EX 是支持无 JS 使用的
    MossFox
        7
    MossFox  
       360 天前
    百度也已经支持抓取和索引客户端渲染了,SEO 相关的东西可以先放一边。

    点标签切内容的这种,想想十几年前是怎么做的。没 JS 的话,标签点下去直接是表单提交,服务端返回局部刷新后的新页面内容。

    现在的话,除非用户群体存在那种 觉得你的页面用个第一方不跨域 Cookie 记录登录都是在强健他的隐私 的那种极品,否则不需要考虑这种。

    不妨试试再展开另一个讨论,『关闭 Cookies 也能确保页面工作』。这种则是和前文的 需要频繁刷新切页面 完全相反的一种,要求你的页面无论任何情况下都不能把当前页面上下文丢失,否则会话状态也会丢失。(关闭 Cookies 同时会禁用一切本地持久存储的访问权限)
    sighforever
        8
    sighforever  
       360 天前
    @MossFox 这对于现在的框架不是啥问题吧,只是每次刷新后得重新登录
    dawn009
        9
    dawn009  
       360 天前
    取决于你的目标用户群体是不是有很多关 js 的人。
    AV1
        10
    AV1  
       360 天前
    如果“选择关掉 js 的对隐私极度敏感”的人是你的网站大金主、大客户,那就听他的,他要你怎么干就怎么干。
    否则,就按你自己的意愿,决定干不干。
    dog
        11
    dog  
       360 天前
    Github 是支持关闭 JS 使用的,要不要支持关闭 JS 使用还是看网站功能的复杂度和自己的时间吧,关心的人应该极少。我自己的博客则是出于无聊,经历了从 jQuery 到 vanilla JS 到完全去掉 JS 代码。

    https://github.blog/engineering/how-we-think-about-browsers/#older-browsers
    Torpedo
        12
    Torpedo  
       360 天前
    曾经是的,但是现在很少考虑这些了。比较不开 js 运行的少了
    就和你兼容 ie6 与否。
    用户少了,或者没了,那就不管了
    molvqingtai
        13
    molvqingtai  
       360 天前
    历史文件不具备现实意义
    danhahaha
        14
    danhahaha  
       360 天前   1
    既然都照顾到关闭 js 的人了,那么顺便照顾下关闭显示器的用户
    ochatokori
        15
    ochatokori  
       360 天前
    我一直想知道 js 和隐私有什么关系
    proxytoworld
        16
    proxytoworld  
       360 天前
    @ochatokori 用 js 算指纹
    dawn009
        17
    dawn009  
       360 天前
    @danhahaha 操作系统有提供无障碍功能。按 Win + Ctrl + Enter 进入。
    lizy0329
        18
    lizy0329  
       204 天前
    真有意思,还在想这破事情,第一个裁员就是你~
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5365 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 06:04 PVG 14:04 LAX 22:04 JFK 01:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86