注释的艺术——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需刷新才能执行]

(0)

相关推荐

  • 浅谈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

随机推荐