<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>