Textarea与懒惰渲染实现代码


Posted in Javascript onJanuary 04, 2012

代码如下。

<div> 
立即渲染内容 
<ul> 
<li>张三<img src="p01.jpg"/></li> 
<li>张四<img src="p02.jpg"/></li> 
</ul> 
</div> 
<div> 
<textarea id="lazyRender01" style="display:none"> 
懒惰渲染内容 
<ul> 
<li>李三<img src="p11.jpg"/></li> 
<li>李四<img src="p12.jpg"/></li> 
</ul> 
</textarea> 
</div> 
<script> 
setTimeout(function(){//懒惰渲染 
var el =document.getElementById('lazyRender01'); 
el.parentNode.innerHTML = el.value; 
},1000); 
</script>

代码的好处是:让李三李四对应的内容,在懒惰渲染之前,不形成dom节点,不请求图片。
但有的同学会问:“Textarea里的内容,对搜索引擎不友好。”
没问题,这个也很好解决的:
<div> 
立即渲染内容 
<ul> 
<li>张三<img src="p01.jpg"/></li> 
<li>张四<img src="p02.jpg"/></li> 
</ul> 
</div> 
<div> 
<script>document.write('<textarea id="lazyRender01" style="display:none">');</script> 
懒惰渲染内容 
<ul> 
<li>李三<img src="p11.jpg"/></li> 
<li>李四<img src="p12.jpg"/></li> 
</ul> 
</textarea> 
</div> 
<script> 
setTimeout(function(){//懒惰渲染 
var el =document.getElementById('lazyRender01'); 
el.parentNode.innerHTML = el.value; 
},1000); 
</script>

代码的区别很简单,只是把'<textarea id="lazyRender01">'这一段通过js的document.write输出来。
但结果却有了很大的不同:就算浏览器不支持js,一切内容也还是能原样显示出来。
Javascript 相关文章推荐
js 鼠标点击事件及其它捕获
Jun 04 Javascript
node.js中的http.createServer方法使用说明
Dec 14 Javascript
Javascript调用函数方法的几种方式介绍
Mar 20 Javascript
JavaScript控制按钮可用或不可用的方法
Apr 03 Javascript
jQuery EasyUI之DataGrid使用实例详解
Jan 04 Javascript
window.open不被拦截的简单实现代码(推荐)
Aug 04 Javascript
Angularjs 动态改变title标题(兼容ios)
Dec 29 Javascript
认识less和webstrom的less配置方法
Aug 02 Javascript
基于JavaScript实现每日签到打卡轨迹功能
Nov 29 Javascript
JS添加或删除HTML dom元素的方法实例分析
Mar 05 Javascript
js实现课堂随机点名系统
Nov 21 Javascript
js中script的上下放置区别,Dom的增删改创建操作实例分析
Dec 16 Javascript
js中有关IE版本检测
Jan 04 #Javascript
国外大牛IE版本检测!现在IE都到9了,IE检测代码
Jan 04 #Javascript
IE的有条件注释判定IE版本详解(附实例代码)
Jan 04 #Javascript
js变量以及其作用域详解
Jul 18 #Javascript
分享一个asp.net pager分页控件
Jan 04 #Javascript
调试Node.JS的辅助工具(NodeWatcher)
Jan 04 #Javascript
DOM和XMLHttpRequest对象的属性和方法整理
Jan 04 #Javascript
You might like
计算2000年01月01日起到指定日的天数
2006/10/09 PHP
关于svn冲突的解决方法
2013/06/21 PHP
PHP安装threads多线程扩展基础教程
2015/11/17 PHP
flash javascript之间的通讯方法小结
2008/12/20 Javascript
使用jQuery.fn自定义jQuery翻页插件
2013/01/20 Javascript
jquery网页元素拖拽插件效果及实现
2013/08/05 Javascript
JS脚本defer的作用示例介绍
2014/01/02 Javascript
对new functionName()定义一个函数的理解
2014/05/22 Javascript
DOM基础教程之事件类型
2015/01/20 Javascript
javascript的理解及经典案例分析
2016/05/20 Javascript
jQuery学习之DOM节点的插入方法总结
2017/01/22 Javascript
Vue-cli项目获取本地json文件数据的实例
2018/03/07 Javascript
Express的HTTP重定向到HTTPS的方法
2018/06/06 Javascript
如何在Vue中抽离接口配置文件
2019/10/31 Javascript
echarts实现折线图的拖拽效果
2019/12/19 Javascript
js实现搜索提示框效果
2020/09/05 Javascript
python发送arp欺骗攻击代码分析
2014/01/16 Python
Python将多个excel表格合并为一个表格
2021/02/22 Python
详解flask入门模板引擎
2018/07/18 Python
Python基于机器学习方法实现的电影推荐系统实例详解
2019/06/25 Python
Python pygame绘制文字制作滚动文字过程解析
2019/12/12 Python
python随机生成大小写字母数字混合密码(仅20行代码)
2020/02/01 Python
简单了解python列表和元组的区别
2020/05/14 Python
PyQt5实现画布小程序
2020/05/30 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
2020/06/02 Python
迪梵英国官方网站:Darphin英国
2017/12/06 全球购物
英国川宁茶官方网站:Twinings茶
2019/05/21 全球购物
什么是静态路由?什么是动态路由?各自的特点是什么?
2015/09/16 面试题
晚归检讨书
2014/02/19 职场文书
4s店市场专员岗位职责
2014/04/09 职场文书
骨干教师培训方案
2014/05/06 职场文书
学习方法演讲稿
2014/05/10 职场文书
Sql-Server数据库单表查询 4.3实验课
2021/04/05 SQL Server
详解Java实现数据结构之并查集
2021/06/23 Java/Android
详细介绍Next.js脚手架完整搭建封装
2022/04/26 Javascript
MySQL事务的隔离级别详情
2022/07/15 MySQL