注释的艺术——JS里直接写HTML,无需转义
利用JS的多行注释配合函数的直接量可以做到JS里直接写HTML代码,除 script 的结束标签之外,无需任何的转义符和续行符。
//Code By Dron
//Ucren.com
document.write((function (){/*
Hello Word! |
alert("Hello Word!");
*/}).toString().replace(/^.+?\*|\\(?=\/)|\*.+?$/gi, ""));
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
//Code By Dron
//Ucren.com
alert(function(){/*
Hello Word! |
alert("Hello Word!");
*/}.toString().slice(13, -3));
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
相关推荐
-
浅谈html转义及防止javascript注入攻击的方法
有的时候页面中会有一个输入框,用户输入内容后会显示在页面中,类似于网页聊天应用.如果用户输入了一段js脚本,比例:<script>alert('test');</script>,页面会弹出一个对话框,或者输入的脚本中有改变页面js变量的代码则会时程序异常或者达到跳过某种验证的目的.那如何防止这种恶意的js脚本攻击呢?通过html转义能解决这个问题. 一:什么是html转义? html转义是将特殊字符或html标签转换为与之对应的字符.如:< 会转义为 <> 或转义
-
JS实现HTML标签转义及反转义
简单说一下业务场景,前台用户通过input输入内容,在离开焦点时,将内容在div中显示. 这时遇到一个问题,如果用户输入了html标签,则在div显示中,标签被解析. 由于是纯前端操作,不涉及后端,因此需要通过js对输入内容进行转义. 这里提供一个非常简单有效的转义方案,利用了innerHTML和innerText 注:火狐不支持innerText,需要使用 textContent 属性,而IE早期版本不支持此属性,为了同时兼容IE及火狐,需要进行判断操作. 因为innerText(textCo
-
AngularJS中取消对HTML片段转义的方法例子
今天尝试用 Rails 做后端提供 JSON 格式的数据, AngularJS 做前端处理 JSON 数据,其中碰到 AngularJS 获取的是一段 HTML 文本,如果直接使用 data-ng-bind 的话是被转义过的,使用 data-ng-bind-html 则可以取消转义. 但是直接使用 data-ng-bind-html 的话会提示错误 复制代码 代码如下: Error: [$sce:unsafe] Attempting to use an unsafe value in a saf
-
JS转换HTML转义符的方法
//去掉html标签 function removeHtmlTab(tab) { return tab.replace(/<[^<>]+?>/g,'');//删除所有HTML标签 } //普通字符转换成转意符 function html2Escape(sHtml) { return sHtml.replace(/[<>&"]/g,function(c){return {'<':'<','>':'>','&':'&
-
在JavaScript中对HTML进行反转义详解
在JavaScript中对字符串进行转义和反转义操作,常用的方法莫过于使用encodeURI (decodeURI).encodeURIComponent (decodeURIComponent)这几个方法,具体使用方法和区别. 但是如何在JavaScript中对HTML进行反转义操作呢?例如下面这段代码: var jsonData = { title: "<%= data.name? data.name : title %>", desc: "<%= da
-
使用Js让Html中特殊字符不被转义
例如:<textarea></textarea>之间包含有类似的这种转义字符的时候总会被解析,倒是可以把所有的"&"通过程序替换成"&",但是有些本来就是"&"的也会被转换,这就错了.怎么让<textarea></textarea>之间包含的文本原封不动的显示出来呢? 复制代码 代码如下: <textarea id="t" rows="20
-
使用php转义输出HTML到JavaScript
最近在做天地图是GIS集成··要输出HTML到JavaScript里面··涉及到代码转义什么的比较麻烦··所以写个PHP的function 分享一下: function jsformat($str) { $str = trim($str); $str = str_replace('\\s\\s', '\\s', $str); $str = str_replace(chr(10), '', $str); $str = str_replace(chr(13), '', $str); $str = s
-
注释的艺术——JS里直接写HTML,无需转义
利用JS的多行注释配合函数的直接量可以做到JS里直接写HTML代码,除 script 的结束标签之外,无需任何的转义符和续行符. //Code By Dron //Ucren.com document.write((function (){/* Hello Word! alert("Hello Word!"); */}).toString().replace(/^.+?\*|\\(?=\/)|\*.+?$/gi, "")); [Ctrl+A 全选 注:如需引入外部J
-
把JS与CSS写在同一个文件里的书写方法
我们经常把多个CSS或者多个JS并成一个,以节省请求,但是这样最少还是要两个.在MSDN的Blog上看到原来也是可以把JS和CSS并在一个文件里,那怎样做呢?利用注释,先看一下这代码. <!-- /* window.onload=function(){ document.getElementById("test2").innerHTML="传说中滴JS测试者.如果你看到我,那<strong>JS</strong>也生效了"; } &l
-
不要小看注释掉的JS 引起的安全问题
一个是header插入问题. 另一个是\r\n问题. 我们来看这样一段代码: 1. test 2. <script> 3. //alert('<%=request.getParameter("username")%>'); 4. </script> 大家都能看到,这好像有个漏洞,但是已经被补上了,注释掉了. 那既然注释掉了,就不该有问题了么? 不是的. 再看这个URL http://localhost/index.jsp?username=kxlzx
-
用js读、写、删除Cookie代码续篇
上次的一篇文章:用js读.写.删除Cookie代码分享及详细注释说明,在实践中发现了一些问题: 1.cookie在本地文件上只能在火狐上调试,IE和chrome无效 2.cookie没有设置为永不过期,只考虑了设置一个时间段就过期,显然不太合理. 这次给出的是比较合理的cookie操作代码: 复制代码 代码如下: var Cookie = { get: function (k) { return ((new RegExp(["(?:; )?", k, "
-
关于js里的this关键字的理解
this关键字在c++,java中都提供了这个关键字,在刚开始学习时觉得有难度,但是只要理解了,用起来就方便多了,下面通过本篇文章给大家详解js里this关键字的理解. 关于this,是很多前端面试必考的题目,有时候在网上看到这些题目,自己试了一下,额,还真的错了!在实际开发中,也会遇到 this 的问题(虽然一些类库会帮我们处理),例如在使用一些框架的时候,例如:knockout,有时候不明白为什么不直接使用this,而要把 this 作为参数传入. 接下来你谈谈我对它的理解,也作为一个笔记,
-
微信小程序引用公共js里的方法的实例详解
微信小程序引用公共js里的方法的实例详解 一个小程序页面由四个文件组成,一个小程序页面的四个文件具有相同路径与文件名,由此我们可知一个小程序页面对应着一个跟页面同名的js文件.可是当有些公共方法,我们想抽离出来成为一个独立公共的js文件.我们该如何实现呢. 在根目录下有一个app.js文件.这个根目录的js 文件我们可以通过getApp()轻松调用. //app.js App({ globaData:'huangenai' }) //test.js var app = getApp(); Pag
-
基于js里调用函数时,函数名带括号和不带括号的区别
示例代码: <span style="font-size:18px;">function hi(){ var a = 1; return function(){ console.log(a++); }; }; var aaa = hi(); var bbb = hi; </span> 如以上代码: aaa 是将 hi() 的运行结果赋值给它,即 return 返回的匿名函数,此时有一个闭包,则每次调用 aaa 时都访问的同一个 a,aaa() 第一次运行结果为
-
JS实现手写parseInt的方法示例
前言 本文主要给大家介绍了关于JS实现手写parseInt的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 手写parseInt的实现:要求简单一些,把字符串型的数字转化为真正的数字即可,但不能使用JS原生的字符串转数字的API,比如Number() 示例代码 function _parseInt(str, radix) { let str_type = typeof str; let res = 0; if (str_type !== 'string' &&
-
直接在JS里创建JSON数据然后遍历使用
之前我已经有讲过后台返回json数据到前台,并在前台遍历json数据. 这里讲下直接在JS里创建JSON数据,然后遍历使用~ 创建代码如下:(创建的是JSON对象) var YearSelect = {}; var Year = 2014; var DateOption; for (var i = Year; i < Year + 12; i++) { DateOption = {'Year':i, 'Month':i-Year+1}; / alert(DateOption.Year) Year
-
地址栏传递中文参数乱码在js里用escape转码
乱码,乱码,头大,烦,话说设置Tomcat后可以解决,但有的时候不管用了,这时,我们可以考虑转码方式不直接传中文,在js里用escape转码,记得需要用两次,如: var str=escape("这是中文参数"); str=escape(str); xxx.do?name=str; 在后台通过一个类的方法再转回来: Escape.unescape(request.getParameter("name")); Escape类如下: 复制代码 代码如下: package
随机推荐
- PHP文章采集URL补全函数(FormatUrl)
- JavaScript中计算网页中某个元素的位置
- 批处理命令教学之tree命令
- jquery解析XML及获取XML节点名称的实现代码
- 面向对象的编程思想在javascript中的运用上部
- 英汉对照-成功名人名言
- .net 单点登录的设计与实践
- C#查找列表中所有重复出现元素的方法
- Ubuntu 16.04安装搜狗拼音输入法错误问题的解决方法
- Redis教程(二):String数据类型
- 解析c++中的默认operator=操作的详解
- javascript 焦点的两个问题
- WampServer设置apache伪静态出现404 not found及You don't have permission to access / on this server解决方法分析 原创
- Java Config下的Spring Test几种方式实例详解
- 类似微信说话功能的录音处理代码分享
- 深入理解java虚拟机的故障处理工具
- C#中设置textbox限制条件的方法
- javaScript之split与join的区别(详解)
- Python读取Word(.docx)正文信息的方法
- Python函数参数匹配模型通用规则keyword-only参数详解