剖析生成shtml静态页面的几种方式

剖析生成shtml静态页面的几种方式 

<script type="text/javascript"> document.body.oncopy = function() { if (window.clipboardData) { setTimeout(function() { var text = clipboardData.getData("text"); if (text && text.length>300) { text = text + "/r/n/n本文来自CSDN博客,转载请标明出处:" + location.href; clipboardData.setData("text", text); } }, 100); } } </script> <script class="blogstory">function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>

总结一下目前常用的生成静态页面的方法:

1 在脚本内构造出HTML内容,使用FSO对象创建html页面

实现思路:

strHTML = "<html标记>" + RS(0) + "</html>"

strHTML = strHTML + ...

Set file = FSO.CreateFile()

file.Write(strHTML)

2 使用HTML模版页面,模版HTML代码中使用预定义的替换标签,如 $title $content $time,然后进行替换后fso创建

实现思路:

strHTML = FSO.Read(htmlModelFile)

strHTML = Replace(strModel,"$title",RS(0))

strHTML = Replace(strHTML,"$time",RS(1))

...

Set file = FSO.CreateFile()

file.Write(strHTML)

其实只是将第一种方法中固化在程序代码中的html使用摸版代替,并替换而已. 至于html摸版,可以存储在数据库中,也可以存储在文本文件中.

3 编写程序自动访问动态页面,获取内容后再生成静态页面.

实现思路:

Set objHttp = Server.CreateObject("Microsoft.XMLHTTP")

objHttp.open("GET","news.show.asp?id="&id,false)

Set objStream = Server.CreateObject("ADODB.Stream")

objStream.Read(objHttp.ResponseText)

objStream.save(articlePath & "/article."&id&".shtml")

4 使用xml+xslt实现静态数据文件客户端xslt转换方法

<?xml version="1.0" encoding="gb2312"?>
<?xml-stylesheet type="text/xsl" href="article.show.xslt"?>
 <article>
  <title>asdf</title>
  <content>fdsa</content>
 </article>
以上是xml数据文件,可以由msdom对象生成.
<?xml version="1.0" encoding="gb2312">
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform ">
<xsl:template match="/">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml/DTD/xhtml1-strict.dtd ">
<html>
<head>
<title><xsl:value-of select="/article/title"></title>
</head>
<body>
<xsl:value-of select="/article/content">
</body>
</html>
</xsl:template>
</xsl:stylesheet>
以上是xslt文件

这种方法的优势在于更改xslt文件后不必理会以前生成的xml数据文件,缺点在于加重了客户端的负担,而且假如客户端浏览器不支持xslt转换将无法正常显示xhtml文档.

5 利用xml+xsl在服务端生成静态的html
这个方法基本与第四种方法一致,不过转换过程放到服务端进行.
缺点在于修改xslt模版后要重新生成以前生成的xhtml文档.

以上几种方法中最常用的是第二种,最折中的是第三种,最推荐的是第四种(目前绝大多数浏览器都支持xslt的转换),当然第五种也不错.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值