是否有可能完全开发';无javascript';网站还是网络应用?

是否有可能完全开发';无javascript';网站还是网络应用?,javascript,Javascript,我是一名ASP.NET开发人员,很久以前就开始使用经典ASP。在ClassisASP中,一切都必须手动完成,没有智能调试支持,也没有像VS这样伟大的IDE[除了DreamWeaver] 只是一个“主观”的想法,因为它进来了,我想在这里讨论它作为“社区维基”。是否有可能在任何平台上开发完全“无javascript”的网站,其可用性和安全性与使用当今智能web框架开发的任何网站一样?ASP.Net使用javascript有很多用途,包括使用javascript作为主要功能的回发 实现这一目标的开发方

我是一名ASP.NET开发人员,很久以前就开始使用经典ASP。在ClassisASP中,一切都必须手动完成,没有智能调试支持,也没有像VS这样伟大的IDE[除了DreamWeaver]

只是一个“主观”的想法,因为它进来了,我想在这里讨论它作为“社区维基”。是否有可能在任何平台上开发完全“无javascript”的网站,其可用性和安全性与使用当今智能web框架开发的任何网站一样?ASP.Net使用javascript有很多用途,包括使用javascript作为主要功能的回发

实现这一目标的开发方法是什么?我们在这样做时将面临哪些困难?


假设HTTP是无状态的,我能听听您对此的看法和想法吗?而且,javascript对服务器来说毫无意义。

不仅可以创建不依赖javascript的站点,而且让客户启用/提供javascript以使站点正常运行在很大程度上是不负责任的

JavaScript应该用于增强体验,而不是用于基本功能

显然,有些网站迎合不同的受众,但一般来说,任何大型商业网站都需要使用或不使用javascript(尽管也有例外)

特别是关于ASP.Net,您有一些选择,但这意味着不依赖于某些控件

有关类似问题,请参阅

引述:

好吧,Javascript只对

1) 客户端验证程序
2) 非按钮控件上的自动回发
3) MSDN文章中提到的其他控件(发布在Google thingum上)-链接按钮、HtmlButton和日历

因此,为了避免使用Javascript,您应该使用普通的表单按钮而不是链接按钮,将表单按钮与控件结合使用,否则将使用AutoPostBack,并使用自由格式的文本框和System.DateTime.Parse来表示日期

为了避免发送Javascript,我不知道最好的解决方案是什么。一种方法是在每个页面上使用“下层”用户代理设置;这可能会阻止ASP.NET在服务器控件上呈现任何CSS,但您可以使用Attributes集合(control.Attributes[“class”]=“CssClassName”;)强制执行该操作

希望这有点帮助。
杰西·密立根
二○○五年七月七日(星期四)

编辑

另请参见:它提供了关于哪些控件需要javascript的信息,以及关于浏览器功能的信息

引述:

依赖于能否运行客户端脚本的ASP.NET服务器控件包括:

  • LinkButton和HtmlButton服务器控件需要脚本。(对于按钮Web服务器控件或HtmlInputButton或HtmlInputImage控件,情况并非如此。)
  • 默认情况下,日历控件使用LinkButton控件实现月份导航和日期选择。如果将控件属性设置为允许用户选择一天、一周或一个月,或者允许用户导航到其他月份,则日历控件将生成客户端脚本。如果您使用Calendar控件仅显示一个月,而没有选择或导航,则该控件不需要客户端脚本
  • 其AutoPostBack属性设置为true的任何Web服务器控件;需要客户端脚本,以便控件发布页面
  • Web验证控件,需要客户端脚本来支持客户端验证。如果客户端不支持脚本,则验证将仅在服务器上运行

ClientTarget属性的值是要为其渲染的浏览器类型的别名。默认情况下,以下别名可用:

  • ie4使用Internet Explorer 4功能进行渲染
  • ie5使用Internet Explorer 5功能进行渲染
  • 具有Internet Explorer 4功能的uplevel渲染
  • 具有HTML3.2功能的底层渲染;也就是说,没有CSS支持
编辑

关于OP问题的第二部分,JavaScript在使用ASP.Net时严格是客户端的,但是ASP.Net生成的代码将包括发送到客户端的JavaScript,用于一些常见控件


HTTP是无状态的,是的,但是cookie和会话可以用来存储数据以维护某种状态。(cookie通常也用于存储会话id以恢复会话——尽管您可以使用查询字符串中的会话id支持无cookie会话。)

不仅可以使站点不依赖JavaScript,但是,让您的客户启用/使用it以使网站正常运行在很大程度上是不负责任的

JavaScript应该用于增强体验,而不是用于基本功能

显然,有些网站迎合不同的受众,但一般来说,任何大型商业网站都需要使用或不使用javascript(尽管也有例外)

特别是关于ASP.Net,您有一些选择,但这意味着不依赖于某些控件

有关类似问题,请参阅

引述:

好吧,Javascript只对

1) 客户端验证程序
2) 非按钮控件上的自动回发
3) MSDN文章中提到的其他控件(发布在Google thingum上)-链接按钮、HtmlButton和日历

因此,为了避免使用Javascript,您应该使用普通的表单按钮而不是链接按钮,将表单按钮与控件结合使用,否则将使用AutoPostBack,并使用自由格式的文本框和System.DateTime.Parse来表示日期

为了避免发送Javascript,我不知道最好的解决方案是什么。O