一个静态HTML网站是没有留言板功能的,如何将留言板放在其上面呢,如果有另一个ASP网站,并支持数据库或文件存储,就可以想办法实现了,如果要做的彻底一点,就连数据库文件也可以是XML的。
“分布式服务”的实现就是客户端可以取得服务器端的数据,也可以提交数据,并不是用一个Frame直接嵌入另一个网站上的页面中。我有两个静态网站都从一个动态网站调用并提交数据,其中起纽带作用的是XML,有点类似SOAP,只不过要自己写协议。
用ASP程序查询DataBase生成XML页面,有相关的教程介绍,可以用字符串进行操作生成XML数据流,也可以生成MSXML对象,这样程序的逻辑性更好。
在跨域访问中,安全设置对接收XML这种行为有限制,即直接在客户端的页面里插入一个XML对象(XML数据岛),将其src设置为服务端的输出(不同的域名中),在本地浏览是可以的,但在Internet上,默认的安全设置禁止了这种操作。
要解决这个问题,只能用脚本写入的方法去处理,将XML数据流用document.write的方法写入客户端页面,就可以绕过IE安全设置。
剩下的就是一些逻辑上的处理了,客户端脚本引用XML数据岛里的内容,并生成HTML代码,提交过程及管理页面相应要简单一些。
这个留言板已经在我的个人主页上实现(两个静态主页调用同一个ASP页面,提交也一样)。
http://rainbowsoft.go.nease.net/main.htm?topic=4&sub=4