• 关于 html字符串写js 的搜索结果

问题

需要以服务器端传过来的json字符串来生成部分HTML时我是否该去学习js mvvm框架?

a123456678 2019-12-01 20:19:16 1031 浏览量 回答数 1

回答

.forEach对象是个数组,你看看对了么 i.concat(...).forEachisnotafunction;i是一个字符串对吧,i.concat字符串拼接后还是返回一个字符串,而forEach是数组上面的方法.所以报错这里你是不是要切割字符串成为数组,再调用?i.split('').forEach 应该不是吧我没有写过这个forEach的应该是vuex里写的。打包前都没问题的打包过程中也没报错打包完成之后打开来就成这样了。。。 文件是在服务器环境中打开的吗?本地打开是无效的哦其次看一下文件路径,如果没有配置的话,默认打包出来的index.html引用的css,js路径我记得是static/xxx/xx,自己加一下./static/xxx/xx试试

爱吃鱼的程序员 2020-06-24 13:29:52 0 浏览量 回答数 0

问题

【javascript学习全家桶】934道javascript热门问题,阿里百位技术专家答疑解惑

管理贝贝 2019-12-01 20:07:22 6202 浏览量 回答数 1

新用户福利专场,云服务器ECS低至102元/年

新用户专场,1核2G 102元/年起,2核4G 699.8元/年起

问题

js或jq拼装html,实现每个页面使用相同头部和底部

杨冬芳 2019-12-01 20:00:57 1579 浏览量 回答数 2

回答

一般后台如果直接request.setattribute(“fileNameMap”,fileNameMap),那么在JSP页面中就直接用你上边的EL表达式展示,如果用ajax请求,则就会返回json格式的字符串由JS动态拼接成页面需要的代码,然后用html()等方法写入到JSP页面中。你现在整好交叉了,这样是不行的。AJAX请求的数据会在ajax中得到返回值,JS往页面传值或者写值,用EL表达式是获取不到的。

蛮大人123 2019-12-02 02:17:55 0 浏览量 回答数 0

回答

上面一种是在服务端执行时,将项目路径存到的PageScope中。 <c:set var="ctx" value="${pageContext.request.contextPath}"></c:set> <% // 实际上就等于这段代码 String ctx = request.getContextPath(); %> 而下面那一种是在浏览器执行时,将 一个已经确定的字符串赋存到 js的window内。 <script type="text/javascript" > <!-- CTX = '${pageContext.request.contextPath}'; // 注意!!这里会发生两次变化,第一次是服务器处理EL表达式。 // 之后将处理后的代码发送给浏览器,这时这个值已经是死的并不是一个变量了。 // 实际你审查html,你会看到如下代码。(最后js写的不标准,未定义就直接用了) CTX = '/demo'; //--> </script> 再之后 你其他的js文件里就可以通过CTX设置获取项目目录。至于Ajax 里 还是 ${ctx},这说明你这个js是写到html文件里的。如果是引用外部script那${ctx}就不能用了。

蛮大人123 2019-12-02 02:06:06 0 浏览量 回答数 0

回答

alert(RegExp.$1);######Thanks!######我说你都是在写js,你干嘛要用正则去匹配,直接操作元素用innerHTML不是更好吗######html形式的字符串,谢谢######你正则就是取的 >(\w+)<这个啊######正则表达式全局模式是不会返回子匹配的###### var a = reg.exec(str); 如果想仔细了解原因还是看文档吧 ######用的不是纯正的js,没有exec()######欢迎加入【javaweb前端基地】QQ群:573820490

kun坤 2020-06-02 16:16:59 0 浏览量 回答数 0

回答

alert(RegExp.$1);######Thanks!######我说你都是在写js,你干嘛要用正则去匹配,直接操作元素用innerHTML不是更好吗######html形式的字符串,谢谢######你正则就是取的 >(\w+)<这个啊######正则表达式全局模式是不会返回子匹配的###### var a = reg.exec(str); 如果想仔细了解原因还是看文档吧 ######用的不是纯正的js,没有exec()######欢迎加入【javaweb前端基地】QQ群:573820490

kun坤 2020-06-14 17:05:32 0 浏览量 回答数 0

问题

前端开发中的字符编码详解

技术小菜鸟 2019-12-01 21:34:35 5214 浏览量 回答数 1

回答

JavaScript (ECMAScript) :JavaScript 是脚本语言。JavaScript和ECMAScript通常被人用来表达相同的含义,但是JavaScript并不是这么一点含义,它是由ECMAScript 核心. DOM 文档对象模型. BOM 浏览器对象模型 这三部分组成。浏览器会在读取代码时,逐行地执行脚本代码。而对于传统编程来说,会在执行前对所有代码进行编译。 组成部分包括语法,类型,语句,关键字,保留字,操作符,对象。 其中,文档对象模型(DOM , Document Object Model)是针对XML但是经过拓展用于HTML的应用程序编程接口。DOM把整个页面映射为一个多层节点结构,开发人员借助DOM Api对节点进行操作。可以通过浏览器F12进入开发者模式,查看层级关系。当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。HTML DOM 模型被构造为对象的树。通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML。 功能大致上: · JavaScript 能够改变页面中的所有 HTML 元素 · JavaScript 能够改变页面中的所有 HTML 属性 · JavaScript 能够改变页面中的所有 CSS 样式 · JavaScript 能够对页面中的所有事件做出反应 同时,浏览器对象模型(Browser Object Model)使用BOM控制浏览器显示页面意外的部分。 javaScript脚本加载方式 1 通过在网页中加入标记JavaScript的开始和结束,将JavaScript代码放到之间 2 也可以引入一个外部的JavaScript文件,这个JavaScript文件一般以.js作为扩展名 3 原则上,放在之间。但视情况可以放在网页的任何部分 4 一个页面可以有几个,不同部分的方法和变量,可以共享。 javaScript语句开发 (1)对大小写敏感 (2)自动忽略多余的空格 (3)在文本字符串中使用反斜杠对代码行进行换行 (4)单行注释(//)多行注释(/* */) JavaScript 是一个程序语言。语法规则定义了语言结构。 JavaScript 字面量 在编程语言中,一般固定值称为字面量,如 3.14。 数字(Number)字面量 可以是整数或者是小数,或者是科学计数(e)。 字符串(String)字面量 可以使用单引号或双引号: 数组(Array)字面量 定义一个数组: [40, 100, 1, 5, 25, 10] 对象(Object)字面量 定义一个对象: {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"} 函数(Function)字面量 定义一个函数: function myFunction(a, b) { return a * b;} **JavaScript 变量 ** 在编程语言中,变量用于存储数据值。 JavaScript 使用关键字 var 来定义变量, 使用等号来为变量赋值: var x, length x = 5 length = 6 JavaScript 操作符 JavaScript使用 算术运算符 来计算值: (5 + 6) * 10 JavaScript使用赋值运算符给变量赋值: x = 5 y = 6 z = (x + y) * 10 JavaScript语言有多种类型的运算符: JavaScript 语句 在 HTML 中,JavaScript 语句向浏览器发出的命令。 语句是用分号分隔: x = 5 + 6; y = x * 10; JavaScript 关键字 JavaScript 关键字用于标识要执行的操作。 和其他任何编程语言一样,JavaScript 保留了一些关键字为自己所用。 var 关键字告诉浏览器创建一个新的变量: var x = 5 + 6; var y = x * 10; JavaScript 同样保留了一些关键字,这些关键字在当前的语言版本中并没有使用,但在以后 JavaScript 扩展中会用到。 以下是 JavaScript 中最重要的保留字(按字母顺序): JavaScript 注释 不是所有的 JavaScript 语句都是"命令"。双斜杠 // 后的内容将会被浏览器忽略: // 我不会执行 JavaScript 数据类型 JavaScript 有多种数据类型:数字,字符串,数组,对象等等: var length = 16; // Number 通过数字字面量赋值 var points = x * 10; // Number 通过表达式字面量赋值 var lastName = "Johnson"; // String 通过字符串字面量赋值 var cars = ["Saab", "Volvo", "BMW"]; // Array 通过数组字面量赋值 var person = {firstName:"John", lastName:"Doe"}; // Object 通过对象字面量赋值 数据类型的概念 编程语言中,数据类型是一个非常重要的内容。 为了可以操作变量,了解数据类型的概念非常重要。 如果没有使用数据类型,以下实例将无法执行: 16 + "Volvo" 16 加上 "Volvo" 是如何计算呢? 以上会产生一个错误还是输出以下结果呢? "16Volvo" 你可以在浏览器尝试执行以上代码查看效果。 在接下来的章节中你将学到更多关于数据类型的知识。 JavaScript 函数 JavaScript 语句可以写在函数内,函数可以重复引用: 引用一个函数 = 调用函数(执行函数内的语句)。 function myFunction(a, b) { return a * b; // 返回 a 乘以 b 的结果 } JavaScript 字母大小写 JavaScript 对大小写是敏感的。 当编写 JavaScript 语句时,请留意是否关闭大小写切换键。 函数 getElementById 与 getElementbyID 是不同的。 同样,变量 myVariable 与 MyVariable 也是不同的。 JavaScript 字符集 JavaScript 使用 Unicode 字符集。 Unicode 覆盖了所有的字符,包含标点等字符。 三 推荐学习网站 JS具体的语法内容还有很多,可以参考官方API或者学习网站完成掌握,简单易学,推荐网站 菜鸟教程:https://www.runoob.com/js/js-tutorial.html w3cschool:https://www.w3school.com.cn/js/index.asp 四 推荐学习书籍 引用自 https://www.cnblogs.com/xhqq/p/7561384.html 个人觉得不错的,没事可以翻翻的。书籍如下: 《javascript设计模式》,张容铭写的,可能不太适合零基础的,是非常不错的进阶书籍。 《javascript面向对象编程指南》,风格轻松易懂,比较适合初学者,原型那块儿讲得透彻,12种继承方式呢。 《js权威指南》、《js高级程序设计》,这两本书经典是经典,但是太厚,适合把其中任意一章都当成一本书来读。洋洋洒洒,很难一口气看完。比较适合当做参考书。 《你不知道的javascript》狙击js核心细节,闭包、原型、this讲得都还清楚。 《js设计模式与开发实践》js设计模式也是要学的,此书把js的设计模式讲得非常清晰,一点不晦涩,看起来没多少难度。 《正则指引》,分析源码时,如果正则表达式不懂,没法进行下去的。此书相对来说讲得比较清晰。 《基于MVC的JavaScript Web富应用开发》,看完后,基本能写出自己的mvc框架了。是本好书。 《javascript函数式编程》,js是一门函数式语言,此书是函数式编程一个入门,函数是一等公民那是非常重要的。 《js忍者秘籍》,jq作者写的,没有传说中的那么难读,话说就算你看完并理解所有知识点,也不会达到世界高手级别的。因为你还没有做到随心所欲。 《javascript框架设计》,如果初看此书,会觉得此书有罗列代码之嫌。在我看来,此书讲究的是框架的全局观。以上书籍是我认为是成就高手之路上必须看的,也需要反复看。 css相关的书籍,说实话我看得比较少,总共有六七本吧。有两本必须推荐一下: 《css权威指南》,css基础知识点那是讲得非常清楚的。什么层叠优先级、line-height啥的。不是随便一本书都敢叫“权威指南”的。 《css揭秘》,此书我也是不断的看,此书才不屑于全面讲css3各属性呢。css规范文档能讲的,它只会讲你最不在意的。此书解决的47问题,解决思路和解决方案同等重要,很有启发性。以上各书你都可以不买,至少买本此书吧

问问小秘 2020-03-03 09:32:57 0 浏览量 回答数 0

回答

"alert(RegExp.$1);######Thanks!######我说你都是在写js,你干嘛要用正则去匹配,直接操作元素用innerHTML不是更好吗######html形式的字符串,谢谢######你正则就是取的 <span style=""font-family:Consolas, "font-size:14px;line-height:15.4px;background-color:#FFFFFF;"">>(\w+)<这个啊######正则表达式全局模式是不会返回子匹配的###### var a = reg.exec(str); 如果想仔细了解原因还是看文档吧 ######用的不是纯正的js,没有exec()######欢迎加入【javaweb前端基地】QQ群:573820490"

montos 2020-06-01 21:03:56 0 浏览量 回答数 0

问题

【精品问答】前端开发必懂之JS技术二百问

茶什i 2019-12-01 22:05:04 146 浏览量 回答数 0

回答

楼主业余菜鸟一个,上次问问题临时用新浪账号注册了这个网,这段时间偶然发现一个朋友加我QQ才知道还有朋友需要详细解答,废话不多说,上代码,支持中文的mybase64.js与修改后的tableExport.js,这个地方篇幅有限制,看博文吧,为了你们第一次写~http://my.oschina.net/MiloFriends/blog/466707###### 已自行解决,经查阅资料了解 Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法,而且base64特别适合在http,mime协议下快速传输数据。 因此通过修改base64编码可以解决相关问题,至于修改的方法网上很多~ 第一次提问,没想到自己先解决了,看来难度不大,所以才没人提吧,还是先自己研究最靠谱~自问自答了 ######导出excel没有后缀,遇到过这个问题吗######怎么修改的,求助攻。。######用这个插件开始是中文没数据,将页面HTML中的要打印的table字符串(这个table是js拼接后插入到div的 )编码换成unicode码后,不在jquery.base64.js中的 _getbyte方法那报 throw "INVALID_CHARACTER_ERR: DOM Exception 5";这个异常了,能出来excel,但是没有数据,求教######怎么修改的,急求啊,我想了很多办法都没实现,就是不能导出中文######急切需要知道,有没有人知道怎么导出中文啊######楼主为啥不说啊 ,别卖关子啊 ######我把你修改的两个js引进去之后 ,可以成功导出excel,但是pdf的话 ,就报错: 渲染页面时发生错误。 PDF.js v1.0.1149 (build: bc7a110),楼主好人做到底吧,这个怎么解决啊? ######我把你修改的两个js引进去之后 ,可以成功导出excel,但是pdf的话 ,就报错: 渲染页面时发生错误。 PDF.js v1.0.1149 (build: bc7a110),楼主好人做到底吧,这个怎么解决啊? 很急。。。跪求。。。 ######<button class="btn btn-success" onClick ="$('#tablepnf').tableExport({type: 'pdf', escape: 'false'});">CSV Export</button>  table的边框线条不显示,中文乱码,怎么解决啊 ,跪求大神解答。。。

kun坤 2020-05-28 16:14:06 0 浏览量 回答数 0

回答

楼主业余菜鸟一个,上次问问题临时用新浪账号注册了这个网,这段时间偶然发现一个朋友加我QQ才知道还有朋友需要详细解答,废话不多说,上代码,支持中文的mybase64.js与修改后的tableExport.js,这个地方篇幅有限制,看博文吧,为了你们第一次写~http://my.oschina.net/MiloFriends/blog/466707###### 已自行解决,经查阅资料了解 Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法,而且base64特别适合在http,mime协议下快速传输数据。 因此通过修改base64编码可以解决相关问题,至于修改的方法网上很多~ 第一次提问,没想到自己先解决了,看来难度不大,所以才没人提吧,还是先自己研究最靠谱~自问自答了 ######导出excel没有后缀,遇到过这个问题吗######怎么修改的,求助攻。。###### 用这个插件开始是中文没数据,将页面HTML中的要打印的table字符串(这个table是js拼接后插入到div的 )编码换成unicode码后,不在jquery.base64.js中的 _getbyte方法那报 throw "INVALID_CHARACTER_ERR: DOM Exception 5";这个异常了,能出来excel,但是没有数据,求教######怎么修改的,急求啊,我想了很多办法都没实现,就是不能导出中文######急切需要知道,有没有人知道怎么导出中文啊###### 楼主为啥不说啊 ,别卖关子啊 ######我把你修改的两个js引进去之后 ,可以成功导出excel,但是pdf的话 ,就报错: 渲染页面时发生错误。 PDF.js v1.0.1149 (build: bc7a110),楼主好人做到底吧,这个怎么解决啊? ######我把你修改的两个js引进去之后 ,可以成功导出excel,但是pdf的话 ,就报错: 渲染页面时发生错误。 PDF.js v1.0.1149 (build: bc7a110),楼主好人做到底吧,这个怎么解决啊? 很急。。。跪求。。。 ######<button class="btn btn-success" onClick ="$('#tablepnf').tableExport({type: 'pdf', escape: 'false'});">CSV Export</button>  table的边框线条不显示,中文乱码,怎么解决啊 ,跪求大神解答。。。

kun坤 2020-06-07 00:08:21 0 浏览量 回答数 0

回答

楼主业余菜鸟一个,上次问问题临时用新浪账号注册了这个网,这段时间偶然发现一个朋友加我QQ才知道还有朋友需要详细解答,废话不多说,上代码,支持中文的mybase64.js与修改后的tableExport.js,这个地方篇幅有限制,看博文吧,为了你们第一次写~http://my.oschina.net/MiloFriends/blog/466707###### 已自行解决,经查阅资料了解 Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法,而且base64特别适合在http,mime协议下快速传输数据。 因此通过修改base64编码可以解决相关问题,至于修改的方法网上很多~ 第一次提问,没想到自己先解决了,看来难度不大,所以才没人提吧,还是先自己研究最靠谱~自问自答了 ######导出excel没有后缀,遇到过这个问题吗######怎么修改的,求助攻。。###### 用这个插件开始是中文没数据,将页面HTML中的要打印的table字符串(这个table是js拼接后插入到div的 )编码换成unicode码后,不在jquery.base64.js中的 _getbyte方法那报 throw "INVALID_CHARACTER_ERR: DOM Exception 5";这个异常了,能出来excel,但是没有数据,求教######怎么修改的,急求啊,我想了很多办法都没实现,就是不能导出中文######急切需要知道,有没有人知道怎么导出中文啊###### 楼主为啥不说啊 ,别卖关子啊 ######我把你修改的两个js引进去之后 ,可以成功导出excel,但是pdf的话 ,就报错: 渲染页面时发生错误。 PDF.js v1.0.1149 (build: bc7a110),楼主好人做到底吧,这个怎么解决啊? ######我把你修改的两个js引进去之后 ,可以成功导出excel,但是pdf的话 ,就报错: 渲染页面时发生错误。 PDF.js v1.0.1149 (build: bc7a110),楼主好人做到底吧,这个怎么解决啊? 很急。。。跪求。。。 ######<button class="btn btn-success" onClick ="$('#tablepnf').tableExport({type: 'pdf', escape: 'false'});">CSV Export</button>  table的边框线条不显示,中文乱码,怎么解决啊 ,跪求大神解答。。。

montos 2020-05-31 10:16:33 0 浏览量 回答数 0

问题

js代码在本地跑得好好的,上传到服务器就不能运行了。?报错

爱吃鱼的程序员 2020-06-08 11:13:03 0 浏览量 回答数 1

问题

模拟登录163邮箱

游客bnlxddh3fwntw 2020-04-25 14:23:37 14 浏览量 回答数 1

回答

一.无限滚动概念首先,它是基于jQuery的,另外还要明白无限滚动的概念:无限滚动的实现原理就是当你在网页上的滚动条滚动到离网页底部一定长度的时候,触发某ajax函数(infinite-scroll内已经封装好),往后台加载文件或者数据,又或者从外部引入静态html形式文件。二.探讨infinite-scroll1.从网页头引入两个js文件,注意必须先放jquery的 [javascript] view plain copy 在CODE上查看代码片派生到我的代码片 <script src="css/infinite-scroll/jquery-1.6.4.js"></script> <script src="css/infinite-scroll/jquery.infinitescroll.js"></script> 2.之后在网页头自己写一个js脚本 [javascript] view plain copy 在CODE上查看代码片派生到我的代码片 <script> $(document).ready(function (){ $("#container").infinitescroll({ navSelector: "#navigation", //页面分页元素--本页的导航,意思就是一个可以触发ajax函数的模块 nextSelector: "#navigation a", //下一页的导航 itemSelector: ".scroll " , //此处我用了类选择器,选择的是你要加载的那一个块(每次载入的数据放的地方) animate: true, //加载时候时候需要动画,默认是false maxPage: 3, //最大的页数,也就是滚动多少次停。这个页码必须得要你从数据库里面拿 }); }); </script> 3.或许你看到这里还是不太清楚网页怎么定义,这里给出我的demo,希望可以有帮助 [html] view plain copy 在CODE上查看代码片派生到我的代码片 <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>无限翻页效果</title> <script src="css/infinite-scroll/jquery-1.6.4.js"></script> <script src="css/infinite-scroll/jquery.infinitescroll.js"></script> <script src="css/infinite-scroll/test/debug.js"></script> <script> $(document).ready(function (){ //别忘了加这句,除非你没学Jquery $("#container").infinitescroll({ navSelector: "#navigation", //页面分页元素--成功后自动隐藏 nextSelector: "#navigation a", itemSelector: ".scroll " , animate: true, maxPage: 3, }); }); </script> </head> <body> <div id="container"> <!-- 容器 --> <div class="scroll"> <!-- 每次要加载数据的数据块--> 第一页内容第一页内容<br> 第一页内容<br>第一页内容<br>第一页内容<br> 第一页内容<br>第一页内容<br>第一页内容<br> 第一页内容<br>第一页内容<br>第一页内容 </div> </div> <div id="navigation" align="center"> <!-- 页面导航--> <a href="user/list?page=1"></a> <!-- 此处可以是url,可以是action,要注意不是每种html都可以加,是跟当前网页有相同布局的才可以。另外一个重要的地方是page参数,这个一定要加在这里,它的作用是指出当前页面页码,没加载一次数据,page自动+1,我们可以从服务器用request拿到他然后进行后面的分页处理。--> </div> </body> </html> 三.细微部分1.js函数里还可定义的其他属性: [javascript] view plain copy 在CODE上查看代码片派生到我的代码片 debug : true, //用于调试,如果需要用到,只需在网页头引入官网demo里的debug.js文件 loadingImg : "/img/loading.gif", //加载时候显示的进度条,用户可以自定义 loadingText : "Loading new posts...", //加载时显示的文字 extraScrollPx: 50, //离网页底部多少像素时触发ajax donetext : "I think we've hit the end, Jim" , //加载完数据(到达底部时)显示的文字提醒 errorCallback: function(){}, //加载完数据后的回调函数,可选 其他属性暂不作过多介绍 2.数据的载入方式①html :如果你已经有固定的数据块,可以放到html里面加载静态页面。②json :可以用后台返回json的方式,返回的时候要指定temple里面的html模版,否则会出错。③我上面例子用的其实也是json,前台在Action层把数据取出后再用StringBuilder拼装成html格式的字符串返回前台。(个人习惯)3.数据分页方式本例用hibernate进行数据分页。

小旋风柴进 2019-12-02 02:37:33 0 浏览量 回答数 0

问题

js动画失效,js函数内部规定原始css可以运行,外部html中#div{}定义原始css不能运行

杨冬芳 2019-12-01 20:05:53 919 浏览量 回答数 1

回答

富文本内容要替换掉js代码主要防止xss,不是防止注入,防注入参数化写数据库就好了,或者将单引号替换为实体对象在做一些网站(特别是bbs之类)时,经常会有充许用户输入html样式代码,却禁止脚本的运行的需求, 以达到丰富网页样式,禁止恶意代码的运行。 当然不能用 htmlencode 和 htmldecode 方法,因为这样连基本的html代码会被禁止掉。 我在网上搜索,也没有找到好的解决办法,倒是收集了一些脚本攻击的实例: 其它基本控件的 on...事件中的代码 iframe 和 frameset 中载入其它页面造成的攻击 有了这些资料后,事情就简单多了,写一个简单的方法,用正则表达式把以上符合几点的代码替换掉: -C# public string wipescript(string html) { system.text.regularexpressions.regex regex1 = new system.text.regularexpressions.regex(@"<script[\s\S]+</script *>",system.text.regularexpressions.regexoptions.ignorecase); system.text.regularexpressions.regex regex2 = new system.text.regularexpressions.regex(@" href *= *[\s\S]*script *:",system.text.regularexpressions.regexoptions.ignorecase); system.text.regularexpressions.regex regex3 = new system.text.regularexpressions.regex(@" on[\s\S]*=",system.text.regularexpressions.regexoptions.ignorecase); system.text.regularexpressions.regex regex4 = new system.text.regularexpressions.regex(@"<iframe[\s\S]+</iframe *>",system.text.regularexpressions.regexoptions.ignorecase); system.text.regularexpressions.regex regex5 = new system.text.regularexpressions.regex(@"<frameset[\s\S]+</frameset *>",system.text.regularexpressions.regexoptions.ignorecase); html = regex1.replace(html, ""); //过滤<script></script>标记 html = regex2.replace(html, ""); //过滤href=javascript: (<a>) 属性 html = regex3.replace(html, " _disibledevent="); //过滤其它控件的on...事件 html = regex4.replace(html, ""); //过滤iframe html = regex5.replace(html, ""); //过滤frameset return html; } 此方法输入可能包含脚本的html代码,返回则就是干净的代码了。 c#中过滤html的正则表达式 TempContent 表示包含有html的字符串; TempContent = System.Text.RegularExpressions.Regex.Replace(TempContent,"<[^>]+>","");至少一个 TempContent = System.Text.RegularExpressions.Regex.Replace(TempContent,"<[^>]*>","");任意个

小旋风柴进 2019-12-02 02:02:39 0 浏览量 回答数 0

回答

奶奶个腿,问题终于解决了。不是脚本的问题,不过这个脚本在ie7以上也不老正常的。是数据库被人注入过,在替换后的{$TemplateName$}的文本里出现了<evalrequest("ice")%>字样,造成脚本读不到相应的node。谢谢各位相助<imgalt=""src="http://www.oschina.net/js/ke/plugins/emoticons/images/83.gif"/>没见过这样的文件 文件全文是什么样子的呢?全文太长,都是html,主要的目的就是点击链接,执行这个函数读取xml节点的数据显示在文本框中没文档吗??回复<aclass='referer'target='_blank'>@blindcat:很同情你没有,嘛都没有。都搞不懂为啥乱七八糟啥玩意都写在一个页面里selectSingleNode是IE下的特有用法  【http://www.w3school.com.cn/xmldom/met_node_selectsinglenode.asp】http://shaolong.me/k 刚查了下XPATH的查找语法://Template表示的是所有Template节点。从代码来看你想取得的是TemplateName等的类似节点。如果sTagName被alert出来是TemplateName,那么感觉应该写成"//Template"+"/"+ <spanstyle="font-family:Consolas,'BitstreamVeraSansMono','CourierNew',Courier,monospace;line-height:14.649999618530273px;background-color:#FFFFFF;">sTagName。你试试看行不行。一样的结果//就是忽略了路径,后面是拼的一个字符串我测试了很久,用了类似的取值方式,发现可能你alert的不对.你用xmlTemplate.selectSingleNode("//"),里面确定的应该是唯一的节点。假设为noded3,而根据语法<b>3</b>像这样在中间的值也是作为一个节点所以应该nodeValue,alert(nodes3.childNodes[0].nodeValue);我在本地自己写了一个测试程序是可以取到其中的值的。我写的代码放在博客里了http://my.oschina.net/luckyone/blog/127340。你可以拿去跑跑看。

爱吃鱼的程序员 2020-06-22 19:47:54 0 浏览量 回答数 0

问题

jQuery制作图表之一 线图(使用插件jquery.jqchart.js)的使用总结之二:报错

kun坤 2020-06-14 09:53:44 0 浏览量 回答数 1

问题

请教大牛们该怎样优化自己的代码现在用jq那样写代码

杨冬芳 2019-12-01 19:53:28 1281 浏览量 回答数 5

问题

模板,从服务端到客户端

go696 2019-12-01 21:32:31 3535 浏览量 回答数 0

回答

首先要把接受到的json格式字符串 转化为json对象。那你可以这样: ①如果用jquery的ajax,只需要指定接受字符串的dateType为 json,这时候的实参data就已经是js对象了。 ②如果不用jquery的ajax,直接执行eval(如三楼采用的: var jsonObj = eval(jsonStr);eval 本身的作用就是执行字符串 )。 ③还有就是parseJSON();和parse()这俩方法了(貌似需要浏览器支持,或者引入JSON2.js)。 得到了 对象一切就好说了。如果是数组格式(比如后端的json是根据ArrayList序列化来的)可以像操做数组一样直接根据index取得相应数据。如果是键值对(后端是map序列化成的标准json格式{'key1':value1;'key2':value2;...}) 那就直接key.value就能取得相应数据了。 ######受用了 。谢谢!###### 后台语言是php么?我的是php,一份样码: 后台用 echo json_encode("xx");返回json数据,下面的success:function(data)中的data就是json数据,然后就eval(data)赋给一个变量,然后当这个变量像数组一样使用,我也不知道为什么用eval,之前百度人家是这么写的,大概就是将json数据转换成数组吧,我是半桶水。然后可以用jquery的append或者html方法添加到你想添加的地方。 $.ajax({ type:"GET", url:"../act/zoneAction.php?action=find_nextpage_comment&page="+page+"&picid="+picid, dataType:"json", success:function(data){ var html = ''; var result = eval(data); var length = result.length>2?2:result.length; for(var i = 0;i<length;i++) { html+="<div class=\"guest_comment\"><div class=\"guest_cover\"><img src=\""+result[i]['user']['Cover']+"\"></div><div class=\"guest_comment_content\"><p>"+result[i]['Content']+"</p></div><div style=\"clear:both;\"></div></div><hr style=\"color:#ffffff;width:100%;clear:both;\">"; } $("#change_comment").html(html); } }); ######谢谢了!很受用######jquery###### function makeEducPlanTable(){ var data = eval('(' + responseText + ')'); var tab = $("#educPlanContent"); var html = []; if(data.length > 0){ var trBgColor = '#FFFFFF'; for(var i=0;i<data.length;i++){ if(i%2 == 0){ trBgColor = "#FFFFFF"; }else{ trBgColor = '#F5FAFA'; } var plan = data[i]; html.push("<tr align='center' valign='middle' bordercolor='#0000FF' bgcolor='"+ trBgColor +"' id='childPlan'"+ plan.childNo +">"); html.push("<td><input type='checkbox' value='"+ plan.childNo +"' name='childPlan'/></td>"); html.push("<td>"+ plan.num +"</td>"); html.push("<td>"+ plan.age +"</td>"); html.push("<td>"+ plan.startEduAge +"</td>"); html.push("<td>"+ plan.sEduStage +"</td>"); html.push("<td>"+ plan.eEduStage +"</td>"); html.push("</tr>"); } } tab.html(""); tab.append(html.join("")); }######回复 @笑医久久 :######回复 @易万军 : 普通的JavaScript######能否告知这是什么技术啊?######多讲一句,1楼贴的代码第七行的  eval(data);是多余的。######哦哦,谢谢啊:)

kun坤 2020-06-07 16:26:53 0 浏览量 回答数 0

问题

请求前端的大牛们给小弟一些指引,谢谢

杨冬芳 2019-12-01 20:08:48 1545 浏览量 回答数 5

问题

AJAX POST 字符串(长度400左右的JSON格式字符串)出现字符串在后台接收时混乱

杨冬芳 2019-12-01 20:16:41 867 浏览量 回答数 1

问题

if/else 在foreach只添加段落而不是标题,在本地中有效

游客oc2yquon3gedc 2019-12-01 22:06:17 7 浏览量 回答数 0

回答

$("#Loading").before(txt); txt里大概就是图片的代码吧###### if (allstop == true) { $(window).scroll(function () {######你看不到他后台/ajax/casesList.ajax是如何实现的,这部分是服务器端,你通过网页看到的只是get请求,可以在调试的network部分看到请求方式。如果你想测试你可以尝试用命令行的curl去测试,但是你看不到服务器端的代码,因为他不是开源的###### 引用来自“剑心无痕”的评论 你看不到他后台/ajax/casesList.ajax是如何实现的,这部分是服务器端,你通过网页看到的只是get请求,可以在调试的network部分看到请求方式。如果你想测试你可以尝试用命令行的curl去测试,但是你看不到服务器端的代码,因为他不是开源的 我用f12观察了一下,其中XHR中默认是一个也没有,后来不断的加载,共有三个casesList.aspx 这种情况说明了什么呢? 还有一个问题,她似乎让显示的每一页只有24条记录,以后随着请求的加载,不断的输出后续的记录,如何使每一页保持24条记录呢,如何用sql来控制呢? ######还有忘记说了,后端源码是部署在服务器上,你是看不到的是安全的,前端的js,css,html都是开源的,是不安全的,所以操作数据库尽量不要用js######如果你想了解后段是如何实现的,可以稍微学习一些后段的知识,这里他是用asp.net写的后端,其实用js也可以写后端,不过目前主流的后端框架都是php,python,ruby,asp等的,我个人的理解,后段主要是做复杂的逻辑运算和数据库交互(数据库js也可以直接访问的),然后前后端之间的通信主要是两种,一种是这里的post,get等请求,一种是模板######$("#loading").before(txt);断点在这里的话,你可以看到txt就是有24个li标签的字符串,每次都会把txt添加到id是loading的前面,你看html里loading的前面其实就是li标签,所以实际上就是在现有li标签的末尾添加txt###### 引用来自“ziluopao”的评论 引用来自“剑心无痕”的评论 你看不到他后台/ajax/casesList.ajax是如何实现的,这部分是服务器端,你通过网页看到的只是get请求,可以在调试的network部分看到请求方式。如果你想测试你可以尝试用命令行的curl去测试,但是你看不到服务器端的代码,因为他不是开源的 我用f12观察了一下,其中XHR中默认是一个也没有,后来不断的加载,共有三个casesList.aspx 这种情况说明了什么呢? 还有一个问题,她似乎让显示的每一页只有24条记录,以后随着请求的加载,不断的输出后续的记录,如何使每一页保持24条记录呢,如何用sql来控制呢? 我又观察了一下f12,发现other选项中,有一个不断变化的动态页面,估计这个页面就是后端中的代码吧,当然它不是原码,但毕竟能看出变化来! 还有一个问题,下图中绿色箭头指的东西是不是代码中的,还是说f12强加上去便于解析呢? ######看上去有点像调用的baidu的api,具体的还得你自己去研究研究######手机上面看不到图片,电脑才看到你的图片,绿色箭头是请求的响应吧,headers里能看到请求的信息,估计是在某个地方调用的这个请求,具体可以在源码中搜索一下###### 我有点明白了,它是通过"pageIndex": pageIndex, "category_id": category_id和后端中的代码联系的,这两个参数在后端源码中肯定有######回复 @剑心无痕 : 是这样,我正好想请教你,他的代码怎么出现在百度商桥中了,这是玩的啥技术!?######是的,就是把这两个参数通过post传递到后端,然后获取后端返回的txt,还有刚才查了一下,貌似是百度商桥的api,有兴趣你可以自己查看一下###### 可不可以这样推理,他把代码写在百度商桥中是为了便于百度收录?我是这样想的,其实这种延迟加载技术不利于优化,似乎作者想通过百度商桥弥补一下,不知对不对,不过我真想不出这么做能弥补吗?###### 还有一个问题需要提出:后端如何一次输出五个格式为txt的li呢,只有这样ajax才能一下输出五个li来

爱吃鱼的程序员 2020-05-31 00:19:29 0 浏览量 回答数 0

回答

XSS 攻击有两⼤要素: 攻击者提交恶意代码。浏览器执⾏恶意代码。 针对第⼀个要素:我们是否能够在⽤户输⼊的过程,过滤掉⽤户输⼊的恶意代码呢? 输⼊过滤 在⽤户提交时,由前端过滤输⼊,然后提交到后端。这样做是否可⾏呢? 答案是不可⾏。⼀旦攻击者绕过前端过滤,直接构造请求,就可以提交恶意代码了。 那么,换⼀个过滤时机:后端在写⼊数据库前,对输⼊进⾏过滤,然后把“安全的”内容,返回给前端。这样是否可⾏呢? 我们举⼀个例⼦,⼀个正常的⽤户输⼊了 5 < 7 这个内容,在写⼊数据库前,被转义,变成了 5 < 7 。 问题是:在提交阶段,我们并不确定内容要输出到哪⾥。 这⾥的“并不确定内容要输出到哪⾥”有两层含义: ⽤户的输⼊内容可能同时提供给前端和客户端,⽽⼀旦经过了 escapeHTML() ,客户端显示的内容就变成了乱码(5< 7)。 在前端中,不同的位置所需的编码也不同。 当5 < 7 作为 HTML 拼接⻚⾯时,可以正常显示: <div title="comment">5 < 7</div> 当5 < 7 通过 Ajax 返回,然后赋值给 JavaScript 的变量时,前端得到的字符串就是转义后的字符。这个内容不能直接⽤于 Vue 等模板的展示,也不能直接⽤于内容⻓度计算。不能⽤于标题、alert 等 所以,输⼊侧过滤能够在某些情况下解决特定的 XSS 问题,但会引⼊很⼤的不确定性和乱码问题。在防范 XSS 攻击时应避免此类⽅法 当然,对于明确的输⼊类型,例如数字、URL、电话号码、邮件地址等等内容,进⾏输⼊过滤还是必要的 既然输⼊过滤并⾮完全可靠,我们就要通过“防⽌浏览器执⾏恶意代码”来防范 XSS。这部分分为两类: 防⽌ HTML 中出现注⼊防⽌ JavaScript 执⾏时,执⾏恶意代码 预防存储型和反射型 XSS 攻击 存储型和反射型 XSS 都是在服务端取出恶意代码后,插⼊到响应 HTML ⾥的,攻击者刻意编写的“数据”被内到“代码”中,被浏览器所执⾏。 预防这两种漏洞,有两种常⻅做法: 改成纯前端渲染,把代码和数据分隔开。对 HTML 做充分转义。 纯前端渲染 纯前端渲染的过程: 浏览器先加载⼀个静态 HTML,此 HTML 中不包含任何跟业务相关的数据。然后浏览器执⾏ HTML 中的 JavaScript。JavaScript 通过 Ajax 加载业务数据,调⽤ DOM API 更新到⻚⾯上。 在纯前端渲染中,我们会明确的告诉浏览器:下⾯要设置的内容是⽂本( .innerText ),还是属性( .setAttribute ),还是样式( .style )等等。浏览器不会被轻易的被欺骗,执⾏预期外的代码了。 但纯前端渲染还需注意避免 DOM 型 XSS 漏洞(例如 onload 事件和 href 中的 javascript:xxx 等,请参考下⽂”预防 DOM 型 XSS 攻击“部分)。 在很多内部、管理系统中,采⽤纯前端渲染是⾮常合适的。但对于性能要求⾼,或有 SEO 需求的⻚⾯,我们仍然要⾯ 对拼接 HTML 的问题。 转义 HTML 如果拼接 HTML 是必要的,就需要采⽤合适的转义库,对 HTML 模板各处插⼊点进⾏充分的转义。 常⽤的模板引擎,如 doT.js、ejs、FreeMarker 等,对于 HTML 转义通常只有⼀个规则,就是把 & < > " ' / 这⼏个字符转义掉,确实能起到⼀定的 XSS 防护作⽤,但并不完善: 所以要完善 XSS 防护措施,我们要使⽤更完善更细致的转义策略。 例如 Java ⼯程⾥,常⽤的转义库为 org.owasp.encoder 。以下代码引⽤⾃ org.owasp.encoder 的官⽅说明。 <!-- HTML 标签内⽂字内容 --> <div><%= Encode.forHtml(UNTRUSTED) %></div> <!-- HTML 标签属性值 --> <input value="<%= Encode.forHtml(UNTRUSTED) %>" /> <!-- CSS 属性值 --> <div style="width:<= Encode.forCssString(UNTRUSTED) %>"> <!-- CSS URL --> <div style="background:<= Encode.forCssUrl(UNTRUSTED) %>"> <!-- JavaScript 内联代码块 --> <script> var msg = "<%= Encode.forJavaScript(UNTRUSTED) %>"; alert(msg); </script> <!-- JavaScript 内联代码块内嵌 JSON --> <script> var __INITIAL_STATE__ = JSON.parse('<%= Encoder.forJavaScript(data.to_json) %>'); </script> <!-- HTML 标签内联监听器 --> <button onclick="alert('<%= Encode.forJavaScript(UNTRUSTED) %>');"> click me </button> <!-- URL 参数 --> <a href="/search?value=<%= Encode.forUriComponent(UNTRUSTED) %>&order=1#top"> <!-- URL 路径 --> <a href="/page/<%= Encode.forUriComponent(UNTRUSTED) %>"> <!-- URL. 注意:要根据项⽬情况进⾏过滤,禁⽌掉 "javascript:" 链接、⾮法 scheme 等 --> <a href='<%= urlValidator.isValid(UNTRUSTED) ? Encode.forHtml(UNTRUSTED) : "/404" %>'> link </a> 可⻅,HTML 的编码是⼗分复杂的,在不同的上下⽂⾥要使⽤相应的转义规则。 预防 DOM 型 XSS 攻击 DOM 型 XSS 攻击,实际上就是⽹站前端 JavaScript 代码本身不够严谨,把不可信的数据当作代码执⾏了。 在使⽤ .innerHTML 、 .outerHTML 、 document.write() 时要特别⼩⼼,不要把不可信的数据作为 HTML 插到⻚⾯上,⽽应尽量使⽤ .textContent 、 .setAttribute() 等。 如果⽤ Vue/React 技术栈,并且不使⽤ v-html / dangerouslySetInnerHTML 功能,就在前端 render 阶段避免innerHTML 、 outerHTML 的 XSS 隐患。 DOM 中的内联事件监听器,如 location 、 onclick 、 onerror 、 onload 、 onmouseover 等, 标签的 href 属性,JavaScript 的 eval() 、 setTimeout() 、 setInterval() 等,都能把字符串作为代码运⾏。如果不可信的数据拼接到字符串中传递给这些 API,很容易产⽣安全隐患,请务必避免。 <!-- 内联事件监听器中包含恶意代码 --> ![](https://awps-assets.meituan.net/mit-x/blog-images-bundle-2018b/3e724ce0.data:image/png,) <!-- 链接内包含恶意代码 --> <a href="UNTRUSTED">1</a> <script> // setTimeout()/setInterval() 中调⽤恶意代码 setTimeout("UNTRUSTED") setInterval("UNTRUSTED") // location 调⽤恶意代码 location.href = 'UNTRUSTED' // eval() 中调⽤恶意代码 eval("UNTRUSTED") </script> 如果项⽬中有⽤到这些的话,⼀定要避免在字符串中拼接不可信数据。 其他 XSS 防范措施 虽然在渲染⻚⾯和执⾏ JavaScript 时,通过谨慎的转义可以防⽌ XSS 的发⽣,但完全依靠开发的谨慎仍然是不够的。 以下介绍⼀些通⽤的⽅案,可以降低 XSS 带来的⻛险和后果。 Content Security Policy 严格的 CSP 在 XSS 的防范中可以起到以下的作⽤: 禁⽌加载外域代码,防⽌复杂的攻击逻辑禁⽌外域提交,⽹站被攻击后,⽤户的数据不会泄露到外域禁⽌内联脚本执⾏(规则较严格,⽬前发现 GitHub 使⽤)禁⽌未授权的脚本执⾏(新特性,Google Map 移动版在使⽤)合理使⽤上报可以及时发现 XSS,利于尽快修复问题 输⼊内容⻓度控制 对于不受信任的输⼊,都应该限定⼀个合理的⻓度。虽然⽆法完全防⽌ XSS 发⽣,但可以增加 XSS 攻击的难度。 其他安全措施 HTTP-only Cookie: 禁⽌ JavaScript 读取某些敏感 Cookie,攻击者完成 XSS 注⼊后也⽆法窃取此 Cookie。验证码:防⽌脚本冒充⽤户提交危险操作。 过滤 Html 标签能否防⽌ XSS? 请列举不能的情况? ⽤户除了上传 <script>alert('xss');</script> 还可以使⽤图⽚ url 等⽅式来上传脚本进⾏攻击 <table background="javascript:alert(/xss/)"></table> <img src="javascript:alert('xss')"> 还可以使⽤各种⽅式来回避检查, 例如空格, 回⻋, Tab <img src="javas cript: alert('xss')"> 还可以通过各种编码转换 (URL 编码, Unicode 编码, HTML 编码, ESCAPE 等) 来绕过检查 <img%20src=%22javascript:alert('xss');%22> <img src="javascript&#58alert(/xss/)">

前端问答 2019-12-23 12:43:05 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 SQL审核 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站 人工智能 阿里云云栖号 云栖号案例 云栖号直播