开源项目中 一段 很典型的 低质量代码
访问量: 2613
<script type='text/javascript'><!--//--><![CDATA[//><!-- /* if (history && history.replaceState) { if ($('filter_link')) $('filter_link').writeAttribute('data-remote'); if ($$('.pagination')) { $$('.pagination a').invoke('writeAttribute','data-remote'); $$('.pagination a').invoke('observe', 'click', function(){ <%= p = Hash.new p.update('page' => params[:page].to_i) if params[:page] p.update('monitored' => 'true') if @monitored modify_history('pushState', @forum.name, "#{@forum.permalink}.html ", p) %> }); } }; */ //--><!]]></script>
这段代码,来自于 tidev.in 论坛,基于 beast 开源论坛。
作用是把will paginate分页变成 ajax 更新的方式。
这段代码, 有几个点:
1. 是非常典型的混合式编程。 js 中混入了 ruby
2. 把简单的东西复杂化。 直接用 最原始的HTML方式打开就可以了。
3. 没有使用jquery, 却使用了 prototype.
4. 上述的JS代码,写在了下面这段 鸡肋代码中。额。太可怕了。:
<script type='text/javascript'><!--//--><![CDATA[//><!-- //--><!]]></script>