兼容IE和FF的JS HTMLEncode和HTMLDecode的完整实例[转]
兼容IE和FF的JS HTMLEncode和HTMLDecode的完整实例,因为这个在在线编辑器和Ajax中经常用到,所以封装成函数可以直接调用,希望对大家有帮助。
<html><head><meta http-equiv="Content-Type" content="text/html; charset=gbk" /><title>HTMLEcode</title></head><body>
方法一:
用的浏览器内部转换器实现转换,方法是动态创建一个容器标签元素,如DIV,将 要转换的字符串设置为这个元素的innerText(ie支持) ||textContent(火狐支持),然后返回这个元素的innerHTML,即得到经过HTML编码转换的字符串,显示的时候反过来就可以了(实际 上显示的时候不用通过转换,直接赋值在div就可以正常显示的)。
<script type="text/javascript">function HTMLEncode(html){var temp = document.createElement ("div");(temp.textContent != null) ? (temp.textContent = html) : (temp.innerText = html);var output = temp.innerHTML;temp = null;return output;} function HTMLDecode(text){var temp = document.createElement("div");temp.innerHTML = text;var output = temp.innerText || temp.textContent;temp = null;return output;} var html = "<br>dffdf<p>qqqqq</p>";var encodeHTML = HTMLEncode(html);alert("方式一:" + encodeHTML);var decodeHTML = HTMLDecode(encodeHTML);alert("方式一:" + decodeHTML); </script>
方 法二:
通过把正则表达式把<>和空格符转换成html编码,由于这种方式不是系统 内置的所以很容易出现有些特殊标签没有替换的情况,而且效率低下
<script type="text/javascript"> function HTMLEncode2(str){ var s = "";if(str.length == 0) return "";s = str.replace(/&/g,"&");s = s.replace(/</g,"<");s = s.replace(/>/g,">");s = s.replace(/ /g," ");s = s.replace(/\'/g,"'");s = s.replace(/\"/g,"""); return s; } function HTMLDecode2(str){ var s = "";if(str.length == 0) return "";s = str.replace(/&/g,"&");s = s.replace(/</g,"<");s = s.replace(/>/g,">");s = s.replace(/ /g," ");s = s.replace(/'/g,"\'");s = s.replace(/"/g,"\"");return s; }var html = "<br>ccccc<p>aaaaa</p>";var encodeHTML = HTMLEncode2(html);alert("方式二:" + encodeHTML);var decodeHTML = HTMLDecode2("方式二:" + encodeHTML);alert(decodeHTML);</script></body></html>
转载于:https://www.cnblogs.com/yingzi/archive/2012/03/14/2396156.html
兼容IE和FF的JS HTMLEncode和HTMLDecode的完整实例[转]相关推荐
- 兼容IE和FF的js脚本做法(比较常用)[问题点数:20分]
兼容IE和FF的js脚本做法(比较常用) [问题点数:20分] IBM_hoojo (hoojo) 等 级: 结帖率:66.67% 楼主发表于:2010-07-03 12:18:15 JScript ...
- php网速测试程序,js简单网速测试方法完整实例
本文实例讲述了js简单网速测试方法.分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: /p> "http://www.w3.org/TR/html4/loose.d ...
- 设为首页 和 收藏本站js代码 兼容IE,chrome,ff
设为首页 和 收藏本站js代码 兼容IE,chrome,ff //设为首页 function SetHome(obj,url){ try{ obj.style.behavior='url(#defau ...
- ahjesus 获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome
ahjesus 返回光标位置兼容IE,FF和Chrome, 说明更新(2013-04-24){ 今天收到反馈说这个例子没作用了,经过查证测试发现是因为使用的jquery的版本过高引起的 $(eleme ...
- html4.0.1兼容ie7,CSS 完美兼容IE6/IE7/FF的通用hack方法
CSS 完美兼容IE6/IE7/FF的通用hack方法 发布时间:2009-03-20 00:27:16 作者:佚名 我要评论 一.CSS HACK 以下两种方法几乎能解决现今所有HACK. ...
- DIV CSS完美兼容IE6/IE7/FF的通用方法
关于CSS对各个浏览器兼容已经是老生常谈的问题了, 网络上的教程遍地都是.以下内容没有太多新颖, 纯属个人总结, 希望能对初学者有一定的帮助. 一.CSS HACK 以下两种方法几乎能解决现今所有HA ...
- [转]CSS完美兼容IE6/IE7/FF的通用hack方法
关于CSS对各个浏览器兼容已经是老生常谈的问题了, 网络上的教程遍地都是.以下内容没有太多新颖, 纯属个人总结, 希望能对初学者有一定的帮助. 一.CSS HACK 以下两种方法几乎能解决现今所有HA ...
- firefox 和 ie 事件处理的细节,研究,再研究-----书写同时兼容ie和ff的事件处理代码...
在ie中,事件对象是作为一个全局变量来保存和维护的. 所有的浏览器事件,不管是用户触发 的,还是其他事件, 都会更新window.event 对象. 所以在代码中,只要轻松调用 window.even ...
- div+css 布局下兼容IE6 IE7 FF常见问题
div+css 布局下兼容IE6 IE7 FF常见问题 收藏 所有浏览器 通用 (市面上主要用到的IE6 IE7 FF) height: 100px; IE6 专用 _height: 100px; I ...
最新文章
- 皮一皮:21世纪了还有这样的事情?
- WinForm编程数据视图之DataGridView浅析(续)
- git url地址无效_如何同步多个 git 远程仓库
- 正则表达式获取中括号里面的内容
- scala学习---2
- python是什么?python该怎么学?一招告诉你!!
- 【HISI系列】之IP/MAC地址配置
- matlab拟合函数导出,excel里曲线拟合的公式怎么导出?()
- es7.3.2中文+拼音分词 排除同音字
- 齿轮的正负变位设计要点
- 20220915使用python3下载ts格式的视频切片文件
- C语言回调函数详解及实例
- 如何理解封装、继承和多态
- 在线解方程的计算机,解方程计算器在线使用 方程计算器如何在线使用
- Excel一键给操作内容添加批注作者
- Matlab里fprintf个人理解(fprintf、display、%f、%f\n)
- C语言之while循环
- #define 喵 int_【吃鸡大作战第三季】第12集 告白小雪喵
- 卡内基梅隆大学计算机专业介绍,美国卡内基梅隆大学计算机专业介绍
- nodejs 将对象转化为query(URLSearchParams)
热门文章
- catia中sew的用法_CATIA超级副本(PowerCopy)使用方法总结 | 坐倚北风
- java页面登陆密码_java实现页面登陆2 密码加密
- 网站不大但加载很慢怎么优化_博客网站首页加载优化
- python学习-序列化对象(pickle)
- 线程打印_线程知识回顾
- java写入txt文件 不替换_java非覆盖写入文件及在输出文本中换行
- linux服务器上装R语言,R语言 在linux上的安装
- oracle rac ora 12560,rac ORA-12541: TNS:no listener问题 非常急!!
- 高等数学与python高级应用_python高级应用程序与设计
- mysql client centos_centos7 安装mysql和mysqlclient遇到的那些坑