2019-03-13 技术日志

Posted exhausttolive

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2019-03-13 技术日志相关的知识,希望对你有一定的参考价值。

html调色板

虽然不是专业写前端的,但是每隔半年(或者更久?)都会有html配色的需求,这种不常用的东西不想放到书签里面,但是又懒得找半天,干脆扔这里吧
coolors调色板


javascript convert string array to integer array

今天遇到一个奇怪的问题,尝试进行上面那个任务的时候遇到了奇怪的现象

var l = ["12", "13", "14", "15"]
l.map(parseInt)
>>> [12, Nan, 1, 1]

找了下parseInt的定义,parseInt有两个参数,第二个参数是radix,由于我要的是十进制的结果
自然正确的转法应该是

l.map(e => parseInt(e, 10))

一个"引发的问题

修改一个jsp文件的时候遇到的一个问题,抽象一下我写了大概这么一段代码

var buttons = "<input type='button' value='blah' onclick='blah(" + JSON.stringify({"a": "&quot;"}) + ")'/>";
return buttons

在页面里我点blah这个按钮的时候,却出现了
Uncaught SyntaxError: Invalid or unexpected token这个错误,点开看看发现调用的函数变成了这样

blah({"a":"""})

很是费解,查了下发现了问题的症结,这块字符串首先会被html parser处理,所以&quot;会被decode成",之后才会被javascript engine执行。
用简单粗暴的办法解决了这个问题

var need_content = encode("&quot;")
var buttons = "<input type='button' value='blah' onclick='blah("" + need_content + "")'/>";
return buttons

对需要的内容encode,然后传参。

其实稍微做一下变种就是我自己对我自己进行的一次xss,如果在模板引擎里面内容不进行正确的处理,内容就会被html parser解析,生成html内容,代码挂掉事小,安全事儿大。

以上是关于2019-03-13 技术日志的主要内容,如果未能解决你的问题,请参考以下文章

常用python日期日志获取内容循环的代码片段

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

2019-03-13 element-ui select下拉框默认值的问题(赋值出来是id而不是汉字)

日记——2019-03-13

大数据学习2019.03.13

2019.03.13 ZJOI2019模拟赛 解题报告