阻止访问基于Javascript的网站或

阻止访问基于Javascript的网站或,javascript,browser,web,compatibility,Javascript,Browser,Web,Compatibility,我开发的一些网站非常需要使用Javascript,没有它它们就无法工作。很多站点功能和操作都依赖于一些服务器端代码无法替代的Javascript代码。有时候,Javascript是如此复杂和必要,以至于不可能为禁用Javascript的浏览器提供回退 在这种情况下,处理这种情况的正确方法是什么 选项A:别管它了。如果网站需要那么多的Javascript,用户会意识到没有它网站将无法正常显示和工作 选项B:以某种方式检测浏览器是否已启用Javascript并完全工作,如果未启用,则在屏幕上显示一

我开发的一些网站非常需要使用Javascript,没有它它们就无法工作。很多站点功能和操作都依赖于一些服务器端代码无法替代的Javascript代码。有时候,Javascript是如此复杂和必要,以至于不可能为禁用Javascript的浏览器提供回退

在这种情况下,处理这种情况的正确方法是什么

  • 选项A:别管它了。如果网站需要那么多的Javascript,用户会意识到没有它网站将无法正常显示和工作
  • 选项B:以某种方式检测浏览器是否已启用Javascript并完全工作,如果未启用,则在屏幕上显示一条消息,说明没有Javascript无法正确显示网站
  • 选项C:如果你有什么建议,我会把它留给你

选项B。使用
noscript
html标记提醒用户。

网站真正需要JavaScript的情况非常罕见(并非闻所未闻,但很少)。在这种情况下,选择选项B

<noscript>
   <p>Sorry, but this website depends on JavaScript. 
   Please ensure you are using a browser which supports
   JavaScript and has it enabled.</p>

   <p>We recommend <a href="http://opera.com/">Opera</a> or
   <a href="http://getfirefox.com/">Firefox</a>. Other JavaScript
   capable browsers are available.</p>
</noscript>

抱歉,此网站依赖于JavaScript。
请确保您使用的浏览器支持
JavaScript并启用了它

我们建议 . 其他JavaScript 可以使用功能强大的浏览器

Put

您确实需要启用JavaScript才能使用此站点

绝对不是A。至少选项B。最好是,每个javascript功能都应该优雅地降级(不会导致错误)为纯HTML

我在这里这样做是因为每个人都说了基本相同的话,如果你愿意,你可以评论我要说的话

我不打算使用noscript标记,因为网站上的所有其他内容都将显示出来。我将使用另一种方法来检测是否启用了Javascript,并可能将浏览器重定向到特定页面。我还不知道我该怎么做,但我会用这个概念

当然,如果不是所有的网站都可以使用Javascript的话,那么大多数网站都可以使用Javascript,但是我正在开发这个web应用程序,它使用了大量的Javascript,是的,没有Javascript也可以工作,但这不是一回事。这就像是将一个已经完成并完善的站点(启用Javascript)与一个仍处于开发早期阶段(禁用Javascript)进行比较

是的,如果禁用Javascript,我想完全关闭用户与网站的连接。我不应该那样做吗?也许不会,但对于这个特定的网站,我会的。对于这个特定的web应用程序,优雅地降级是不可接受的。我自己的要求,而不是一些客户的,只是为了确保这一点

但也许我不会像上面说的那样去做,这实际上取决于我需要的所有Javascript代码。事实上,我很早就开始开发这个应用程序了,但我不得不把它放在待机状态,现在,因为时间太长了,我要从头开始。我会看看我是否想让它优雅地运行

这只是为了澄清我对你们评论的意图


在此之后,我将标记第一个答案是否已被接受,因为它们基本相同。

在浏览器中打开JavaScript并刷新此页面。我认为堆栈溢出的方式非常好(基本上是您的选项B),SO方法不是很好。如果CSS不可用,则消息将隐藏在文档末尾。在那里,它是一个大红色警告,上面写着“与JS一起工作更好”-“工作更好”是什么意思?一个红色的大警告意味着打开JS非常重要,但措辞意味着你只是得到了一点增强,没有它一切都能正常工作。@David:在meta上对此进行了一些讨论,以防你感兴趣:我不同意。许多现代web应用程序“需要”javascript。大多数网站都不是web应用程序,而大多数“需要”javascript的web应用程序都可以编写以避免这种要求。当然,你推荐我的手机使用Opera或Firefox?或者当我在Firefox中使用NoScript禁用JS时?大多数浏览器这次都可以运行JS。那个些不能做到的人是那个些故意禁用它的人,或者是那个些不上网的移动用户PC@MBO我不知道你们用的是什么手机,但我肯定会推荐Opera,如果它有能力的话,它在我的老爱立信上非常棒。至于JS被禁用,第一段明确提到“并已启用”。是的,大多数浏览器都可以运行JS,其中两个是为不使用这些浏览器的人列出的,最后一句话清楚地表明还有其他选项。一些用户将无法打开JS,我建议您回到我回答的第一句话;提供“youneedjs”消息是万不得已的选择。或者更好:如果可能的话,每个标准功能都应该使用JavaScript进行增强。
<noscript>You really need to enable JavaScript to use this site</noscript>