这篇文章可能需要一些修改。我会尽力解释......
基本上,作为测试人员,我注意到有时使用基于模板的Web后端的程序员会将大量内容推送到onload处理程序,然后执行加载菜单项,更改表单中的显示值等内容。
例如,显示网络配置的页面为IP信息加载空白(或虚拟值),然后在onload函数中加载一组变量,该函数在呈现页面时设置值。
我的经验(和直觉)是由于一些原因,这是一种非常糟糕的做法。
1-如果页面显示在Javascript关闭的环境中(例如使用“发送页面”),则该页面将无法在该环境中正常显示。
2- HTML页面变得非常难以诊断,因为屏幕上的实际内容需要通过执行头脑中的javascript拼凑在一起(由于Firebug,这个问题在Firefox中不那么突出)。
3-大多数时候,这不是通过环境特征的标准实践来完成的。换句话说,后端没有服务,后端代码看起来像结果HTML一样意大利面。
并且,并非真正的原因,更多的相关性:
我注意到大多数执行此操作的程序员通常是编码器,它们存在许多与代码相关的错误或关键的集成错误。
所以,我不是说我们不应该使用javascript,我想我所说的是,当你动态生成一个页面时,动态行为应该被隔离到后端,你应该避免改变页面加载和渲染后显示的信息。
答案 0 :(得分:1)
我认为你所说的是我们应该做的是Progressive Enhancement with JavaScript。
还相关:Progressive Enhancement with CSS,Understanding Progressive Enhancement和Test-Driven Progressive Enhancement。
答案 1 :(得分:0)
所以实际的问题是javascript内容生成的“优点/缺点是什么”?
这里有一个:很多设计师想要的东西很难直接用html / css,或者不完全支持。例如,使用Jquery用“:odd”做斑马表。有时服务器端框架没有很好的方法来实现这一点,因此获取最干净的代码的方法实际上是将它拆分。