jQuery与标准后端编程

Jas*_*son 10 jquery server-side

我很想知道别人的喜好......

我最近率先进入jQuery,我很喜欢它.但是,我发现我用微小的jQuery函数替换了很多(有点琐碎的)后端(tech:ASP.NET)函数.例如,不是将导航按钮指定为后端控件,而是在其页面着陆时更改其类(即,在关于我们页面时突出显示"关于"按钮),我只是解析了URL并添加了一个类到按钮:

var pathname = window.location.pathname;
if (pathname == "/about/") {
    $("#nav-about").addClass("selected");
}
Run Code Online (Sandbox Code Playgroud)

像这样的解决方案似乎相当简单(可能太简单),但我总是谨慎地过分依赖JavaScript.有没有其他人对此做类似的事情,如果是这样,你如何维护这样的代码?你怎么知道在每次都能运行的优质服务器代码和快速,华丽,闪亮的jQuery之间取得平衡,除非用户可能关闭JavaScript,

编辑

我并没有真正谈到这个特殊的例子......我正在谈论像这样的小改进.在jQuery增强功能上或者在服务器上执行此操作时,您绘制的是什么?谢谢 :)

Mat*_*ijs 6

Javascript是HTML和CSS之上的额外层.当您构建可访问的网站时,所有内容都应该只在HTML中提供.CSS和Javascript都应该只用于增强用户体验.

我甚至会说,对于每个页面界面或RIA,应该有一个多页替代方案.

所以,要回答你的问题,这绝对是你想要在服务器上编码的东西,而不是客户端.


Pao*_*ino 5

我过去的几个项目让我很高兴知道100%的用户都会启用Javascript.在这种情况下,我实际上做了一些非常类似于你必须在导航服务器端突出显示当前页面的东西.

然而,如果没有这种奢侈,我认为像这样的快捷方式就是"推动它"使用jQuery - 当然,你可以说"如果他们禁用Javascript,那么他们就不会看到导航页面突出显示,它不是这是一个大问题 - 虽然这可能是真的,但是有一种心态可以避免一种更强大,更可靠的服务器方式,这是没有特别好的理由.重要的是要避免在客户端中使用"更简单"的代码替换经过实战考验的服务器端解决方案.它很诱人,但并不总是对你的项目和你的用户来说是最好的东西,其中一些将禁用JS,可能会看到导航想知道他们在哪里,并发现自己"丢失".

总而言之,我建议您切换回服务器端代码.没有必要扔掉它.

  • 无法在服务器端复制增强功能时.例如,如果您想要在用户输入时通知用户已发布新的回复(就像这个网站那样),如果没有jQuery,这是不可能的; 如果你想在用户输入时验证表单,那么没有jQuery就不可能(尽管你还需要验证服务器端),等... (3认同)

Ric*_*haw 5

我觉得主要的问题是搜索引擎,因为他们不解析js.任何内容类型的东西,我总是确保没有,但我觉得很少设计师接触是好的.