javascript微型模板系统
由于后台模板系统的强大,如rails的erb,javascript的模板系统一直处于被打压状态,但又由于后台的技术发展过快,日新月异,以及Ajax应用的普及,javascript还是有一藉之地的。如我们要从后台返回一个HTML片断,但事实上我们永远只能返回文本(responseText)或responseXML,如果你得到是json,其实后台已稍稍调用javascript把它eval成json。
好了,既然我们知道它有用武之处,那么这模板系统的规模应多大呢?或者说,它应该有什么功能呢?问题很简单,我们看一下那些后台模板系统就知了。后台模板发展了这么多年,非常成熟了。因此我们做的问题就是取舍。
<table>
<% foreach $topic in param.topic %>
<tr class="topic">
<td><%= $topic.renderLink() %></td>
<td><%= $topic.creator.renderLink() %></td>
<td>
<% $count = topic.comments.count() - 1 %>
<% if $count == 1 %>
1 Post
<% elseif $count > 1 %>
<%= $count %> Posts
<% else %>
<% end %>
</td>
<td nowrap><%= $topic.createDate | format "dd.MM.yy - HH:mm" %></td>
</tr>
<% end %>
</table>
这是网上找到一个示例,有分支,有循环,还有变量。像分支与循环,我觉得实现不应该与普通标签混在一起,貌似jsp mode1就是这个样子,很难维护。另外,我们也不得不注意一个问题,就是RSS。现在许多网站都支持订阅。如果前面是用以下方式设计会死得很惨:
<ul>
<!-- for(var i=0; i<supplies.length; i++) { //-->
<li><!--= supplies[i] //--></li>
<li><!--= } //--></li>
</ul>
情况同现在我的博客用的语法高亮差不多。为了实现高亮,SyntaxHighlighter会把目标pre改成一个div,里面填充了许多设置了各种样式的span,于是我们就看到五颜六色。但在google Reader一看,javascript失效了。因此我们得出一个结论,前台的模板系统不应该在全页面范围使用。它只应处理那些临时生成的HTML片断。如Ajax提交的回复,这就省得刷新页面。
由于<% 与 %gt;与许多后台语言的模板系统发生冲突,直接用静态页面干活的日子不多了,因此我们就
相关文档:
<script>
function getCookieVal(offset) {
var endstr = document.cookie.indexOf(";",offset);
if(endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset,endstr));
}
function FixCookieDate(data) {
var ba ......
//探测图片是否存在
function IsExist(url)
{
x = new ActiveXObject("Microsoft.XMLHTTP")
x.open("HEAD",url,false)
x.send()
return x.status==200
}
判断某一个网络地址的图片是否存在,如果存在,就会返回true ,不存在就返回 false~~~~ ......
日志原文:http://zzgziyu.blog.sohu.com/109589244.html
<script>
("<html
xmlns:v><style>v\\:*{behavior:url(#default#VML)}</style>")
var
ct1=new ct()
function ct(){
="green,yellow,red,blue,gray,purple".split(",")
&nb ......
实例如下:javascript.html文件
<html>
<head>
<title>JavaScript验证</title>
</head>
<script language='JavaScript'>
......
一,JavaScript中的保留关键字
abstract extends instanceof static & ......