页面上有个div元素class叫query-reuqest,里面有尖括号转成了字符实体的html,骚操作如下:
$(".query-result").dblclick(function(){ var str = $(this).text(); str = str.replaceAll('<','<'); str = str.replaceAll('>','>'); console.log(str);}
这时候会有个莫名其妙的分号报错,接着页面上的select标签拿不到值了,取消console打印就正常,哈哈哈
WRITING LOG · 03
技术博客
记录技术实践、问题排查和持续成长,把每一次解决问题的过程留下来。
WORKSPACE
文章阅读
js控制台打印东西会影响页面js其他功能引起报错你信吗?
2021-07-01
关于vue单页应用打包后js加载时间长的问题优化
2021-07-01
先说情况:自己趁活动打折买的低配服务器才1M带宽,给的最大速度大概125KB/s左右。vue单页应用打包好后单个js在1M左右,全部的内容有3M左右,这样没缓存的情况下加载一次页面要10秒左右,这显然是我不想看到的情况。想了很多办法,诸如给js瘦身,然后把js转移到oss或者cdn。最后想起nginx有个gzip压缩功能,配置完后加载时间缩短到了3s左右,可以接受。
最后解决:nginx server{} 里面增加 gzip on; gzip_buffers 32 4K; gzip_comp_level 6; gzip_min_length 100; gzip_types application/javascript text/css text/xml; gzip_disable "MSIE [1-6]\."; #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持) gzip_vary on;
最后解决:nginx server{} 里面增加 gzip on; gzip_buffers 32 4K; gzip_comp_level 6; gzip_min_length 100; gzip_types application/javascript text/css text/xml; gzip_disable "MSIE [1-6]\."; #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持) gzip_vary on;
每天都有人尝试攻击我liyiru.top网站
2021-06-24
也不知道是得罪谁了,我域名明明没有被任何搜索引擎收录,天天有人来扫描我的脚本漏洞。回想起来我近期得罪的也只有花生壳,前面说他们的域名服务烂得一批在客服那里反馈了下。然后就是为了过苹果app审核搞过ipv6隧道。难道是这些人专门攻击近期做域名转移的?每天去封攻击的ip也不是个办法,我想了想干脆用nginx转发,非法请求全转到他们自己的本地ip127.0.0.1上去。虽然避免不了他们的连续攻击,少看些错误日志眼不见心不烦。
花生壳买的域名真难用
2021-06-16
前段时间在花生壳买了个域名,后来发现他们的服务真的烂得一匹。解析只能有五条记录,多一条都要另外充钱; cname解析用不了,要另外充钱; 泛域名解析用不了,要充钱; 还有ns记录不删除就没办法修改解析记录的bug。一怒之下把域名转到阿里云了,花了一周终于转过去了。然而发现在阿里云上添加新的解析记录无效,查了下原因发现域名dns还是花生壳的,更新成了阿里的。过了一个小时左右,能用了。
一场由php双问号和空字符串引起的血案
2021-06-15
php7开始有了??语法糖,可以简化一些场景的空值和isset判断,例如 $a = ['zhangsan'=>19, 'lisi'=>20]; $b = isset($a['zhangsan'])? $a['zahngsan'] : 'undefined'; 当zhangsan存在的时候取自己的值,否则就给个默认值undefined。这时候用??更简洁,直接 $b = $a['zahngsan'] ?? 'undefined'; 本来是很美好的,但是如果你要做判断的变量不能为空字符,这种就很不适合了。因为 $test = ''; $res = $test ?? 1;这时候$res是等于''的。我遇到的问题是一次查询里面有开始和结束时间,函数的开始和结束时间默认是空字符串,然后我写了 $start = $stime ?? date('Y-m-d'); 结果$stime默认为空字符,查询的时候就悲催了。
mysql批量删除数据报max_binlog_cache_size不足的问题
2021-06-11
mysql的innodb引擎默认设置下delete删除数据都会存个binlog日志,大概是为了好恢复。那么删除的数据量很大的时候可能会遇到binlog缓存不够的情况。这时候可以show variables like '%binlog_cache_size%';看看配置是多大,如果太小就set global max_binlog_cache_size=40*1024*1024*1024; 改大一些就可解决。不过没权限去改就只能一次少删一些数据。更好的办法当然是分表,直接删除旧的数据表显然更干净利落,delete删除数据不会立马释放数据占用的空间,还可能产生数据碎片。
关于苹果app审核
2021-06-10
苹果app审核居然强制要求api是https的并且同时支持ipv4和ipv6。没办法,去https://www.tunnelbroker.net申请了个ipv6隧道转发ipv6给ipv4。