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": """}) + ")'/>";
return buttons
在页面里我点blah这个按钮的时候,却出现了
Uncaught SyntaxError: Invalid or unexpected token这个错误,点开看看发现调用的函数变成了这样
blah({"a":"""})
很是费解,查了下发现了问题的症结,这块字符串首先会被html parser处理,所以"会被decode成",之后才会被javascript engine执行。
用简单粗暴的办法解决了这个问题
var need_content = encode(""")
var buttons = "<input type='button' value='blah' onclick='blah("" + need_content + "")'/>";
return buttons
对需要的内容encode,然后传参。
其实稍微做一下变种就是我自己对我自己进行的一次xss,如果在模板引擎里面内容不进行正确的处理,内容就会被html parser解析,生成html内容,代码挂掉事小,安全事儿大。
以上是关于2019-03-13 技术日志的主要内容,如果未能解决你的问题,请参考以下文章
我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情