一个模板文件有许多区域是服务器端动态生成的,我想将模板文件
做成一个静态 html 文件,然后在这个 html 文件内嵌入 url,每个
url 对应一个动态区域,我只知道有个 iframe 可以做到这个,但
似乎 iframe 特性大家很少用,而且我也担心嵌入太多 iframe 会
很影响页面加载速度。
另一个可能的办法是在主页面加载后触发一个 js 脚本,这个 js
脚本发起新的 http 请求获得动态数据重写 dom 树中的节点,请问
这个办法可行么?如果可行求这个 js 代码。
比如模板文件:
# index.html
....
<script type="text/javascript" src="/rewrite.js"></script>
<script type="text/javascript">
<!--
这部分其实在 src="rewrite-data-source-index.js" 中,
嵌入进来方便说明,src 中文件名由固定前缀和当前 html
文件名组合而成。
定义一个 url 到 keywords 的映射关系,比如
{
"/getNameAndScore.jsp" => ["name", "score"],
"/getAddress.jsp" => ["address"]
}
在 /rewrite.js 中需要一个 rewrite 函数,它根据上面
这个数组的内容,请求每一个 url,获得数据(可以是
xml 或者 json 格式),重写当前 html 源文件对应的 dom 树中
的节点,比如将 <td id="name">John</td> 中的 John 重写为
服务器动态生成的数据。
//-->
</script>
<body onLoad="rewrite()">
....
这样做的好处是静态内容不需要用动态网页办法一个个的 print 出来,应该
有助于提高效率。
--
修改:Dieken FROM 61.49.222.*
FROM 61.49.222.*