当前位置:  开发笔记 > 编程语言 > 正文

是否值得为禁用javascript的用户编写不同的功能?

如何解决《是否值得为禁用javascript的用户编写不同的功能?》经验,为你挑选了6个好方法。

我目前正在构建一个项目,我想使用一些简单的javascript - 我知道有些人禁用它来阻止XSS和其他东西.我是不是该...

a)使用简单的javascript,那些禁用它的用户会丢失

b)不要使用简单的javascript,启用它的用户必须再点击一下

c)编码启用了javascript和禁用javascript的功能

我不确定网络总是在变化,你推荐什么?



1> orip..:

优雅地降级 - 确保网站在没有JavaScript的情况下工作,然后为启用了JavaScript的用户添加铃声和口哨声.


这个观点是老派 - 对我而言,就像是说"让你的网页适用于那些禁用HTML的人" - 如今,如果没有它,我就无法理解网络应用程序中的JavaScript是如此不可或缺的一部分.网站(即非网络应用程序)是一个不同的故事,但我仍然感觉相似
杰森 - 我们对缺乏技术的用户的看法并不重要.用户是否沮丧地离开了.甚至那些通常使用现代浏览器的人也可以通过手机进行首次访问.
如果您关心可访问性,则代码回退.他们通常甚至不那么难.如果后退很难,那将是一个不同的故事,但他们不是.

2> Kent Fredric..:

其他人都做出了很好的评论,但还有一些其他的考虑因素.

有时javascript将托管在不同的域上,并且容易超时.

有时,该网域可能会变得无法访问,而您的网站仍然可以访问.在这种情况下让您的网站完全堆叠自己并不好.

出于这个原因,应该避免使用谷歌跟踪器中存在的"阻止"脚本(即:文档内联文档),或者至少应该尽可能地在页面中使用,以便页面呈现域名是否为超时请求.

如果您碰巧通过故意或偶然的方式从破坏/恶意服务器提供JS,只需通过提供一个脚本来暂停页面呈现,该脚本只需在发送所有标头后调用"sleep(forever)".

有些人使用NoScript

与上述问题一样,有时客户端环境可能会阻止某些脚本源,无论是用户选择还是其他原因(即:浏览器安全性满意,奇怪的防病毒/反恶意软件应用程序).最受欢迎和可控制的实例是NoScript,我自己也偏执地阻止了一些流行的跟踪/广告服务(一些代理服务器也会这样做).

但是,如果某个站点设计不当,则加载一个脚本失败仍会执行依赖于该脚本存在的代码,这会导致错误并阻止一切正常运行.

我的建议是:

    使用Firebug

    使用NoScript并阻止所有内容 - >请参阅网站仍然有效

    启用您不能做任何事情的核心站点脚本 - >请参阅站点仍然有效,而firebug不会抱怨.

    启用第三方的东西 - >看到网站仍然有效,萤火虫没有抱怨.

可能会出现许多其他并发症,但满足上述2应解决其中大多数问题.只是假设,无论出于何种原因,构成页面的一个或多个资源都可以自发地消失(它们一直都在消失),并且您希望页面尽可能友好地"存活"这个问题.对于可能持续<10秒的问题,它不是那么糟糕,刷新页面及其固定,但如果它可能发生问题,并且severley一次阻碍可用性一小时或更长时间.

从本质上讲,不要考虑"哦,没有javascript的边缘案例用户",尝试更多地考虑"它真的很容易出错,并让我们所有的用户都破坏了javascript.哎哟!让我们尝试做到这一点,当我确实发生这种情况时,我们真的不会自己管它们"

(我已经看到IE更新推出并为整个浏览器提供软件javascript,直到编写脚本的人找到解决方法.失去所有IE客户并不是件好事)

:set sarcasm

:set ignoreSpelling

:set iq=76

别担心,它只有5%的NichéMarket

没人关心瞄准Niché市场吗?所有那些有趣的螺旋桨头都在他们令人讨厌的愚蠢的linoox cpus中运行lynx,把所有的时间花在intarwebs冲浪上,因为他们没有更好的生活或金钱?疯狂的安全偏执狂书呆子禁用javascript左右因为他们不喜欢它?

现在没有人想要他们作为您的主要客户吗?Niché市场.Pfft.谁在乎!

:set nosarcasm


你忘了"设置"你的`iq`和`拼写'恢复正常,-1.

3> Nathan Long..:

考虑您的受众

"优雅地降级"通常是最好的答案.但是很多网站现在都依赖于JS - 尤其是AJAX.

考虑您的受众.如果您的网站针对的是非常精通技术的人,他们没有javascript的可能性很小,您可以通知他们在必要时打开它.

如果您的受众群体可能使用移动设备访问您的网站,请不要认为他们拥有JavaScript,甚至不认为他们正确支持CSS.目的是优雅地降级到裸HTML.


我发现情况恰恰相反.通常精通技术的人都会关闭javascript,因为他们知道危险,以及如何关闭它.普通的乔不知道危险,即使他们这样做,也不会知道如何关闭它.

4> lkessler..:

我从我的问题中学到了很多东西:那些不使用Javascript的人是什么

使用Ajax和Web 2.0.这是网络的发展方式,非常棒.Stackoverflow难道不是很好吗?关闭你的Javascript并不是很好.

一旦你的网站准备就绪,但在你让它上线之前,用Javascript关闭测试它,只需添加你认为需要的任何东西,使你的网站显示并运行它们.您只需要添加您认为必不可少的内容.

请记住,除了视觉上受到影响的人使用屏幕阅读器外,其他人都选择关闭javascript.如果他们想要使用您拥有的所有功能,他们还可以选择信任您的网站并为您的网站启用javascript.这真的是他们的选择.



5> James Curran..:

正如其他人所说,它应该"优雅地降级".

在其他作品中,它必须在没有Javascript(句点)的情况下工作.它不一定运作良好.那些已经禁用Javascript的人知道导致并接受它们的限制.但如果你想卖给他们一些东西,重要的是他们仍然可以买到它.

在我正在设计的网站上,有一个基于javascript的弹出菜单.关闭Javascript后,所有弹出按钮都会打开.它看起来不像JS那样酷,但它仍然可以用来浏览网站.



6> Andrew Rolli..:

这取决于您需要多长时间来开发和维护这两种解决方案,以及非JavaScript用户对您的价值.

我的电子商务网站严重依赖于javascript,在一年半的时间里,我没有收到任何投诉.事实上,自从我开始以来,我认为我没有看到任何日志中禁用javascript的单个访问者.这并不意味着他们不在那里.它只是意味着(a)它们是一个很小的百分比,(b)它们对我卖的东西不感兴趣,或者(c)上述两种情况.


我认为属于(a).
或(d)对您的网站可能造成的风险不感兴趣.当我遇到一个由于需要JS而无法通行的网站时,我会定期进入一个更安全友好的网站.
推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有