#
做前端这么多年,今天才发现关于sessionStorage的一个误区

前言所有人都知道,localStorage和sessionStorage的最大区别是生命周期,一个永久,一个仅针对一个会话期间有效。那么,到底什么是一个会话?多个标签页之间的数据是否会共享呢? 后台的session我们对会话session的认识一般都是从后台的session开始的,比如Java的session,它是基于往cookie写入一个JSESSIONID来实现的,所以,只要你不是打开一个隐... 阅读全文

@2018-05-21 前端综合 浏览(39049)
#
前端跨域总结

老生常谈的问题,虽然有些不太常用,但还是总结一下。 图片法这种方法利用了图片没有跨域限制的特点,仅适用于不需要获取服务端响应的场景,如日志统计等,且只能以GET方式请求,一般很少用。 var img = new Image();img.src = 'http://other.domain.com/log.png'; JSONPXmlHttpRequest有跨域限制,但是script标签没有,... 阅读全文

@2018-05-14 前端综合 浏览(2691)
#
script标签的defer和async的区别

正文网上很多写法都有点问题或者难以理解,下面这一张图说明所有问题: 补充说明: defer 和 async 在下载这块儿是一样的,相较于HTML解析都是异步的;它俩的差别在于脚本下载完之后何时执行,async什么时候下载完什么时候执行,并且会中断HTML解析,defer则在HTML解析完成之后,DOMContentLoaded 事件触发之前执行。async只能用于对其它JS没有任何依赖... 阅读全文

@2018-05-09 JavaScript 浏览(1785)
#
WebWorker简单复习

本文demo:http://demo.haoji.me/2018/04/28-webworker/ JS是单线程语言由于JS设计的初衷就是用来进行一些简单的用户交互以及DOM操作,为了避免复杂性,从一开始JS就被设计成一门单线程语言,现在如是,以后也不会变。 然后正是由于单线程的缘故,当我们需要在前端运行一些大运算量的代码时,浏览器肯定会陷入卡顿。为了解决前端大运算量问题,HTML5引入了We... 阅读全文

@2018-04-28 JavaScript 浏览(3434)
#
彻底禁用Chrome的“请停用以开发者模式运行的扩展程序”提示

前言作为一个前端程序员,难免会有一些专属自己的小扩展,没必要每一个都发到Chrome应用商店去,虽然可以勾选“开发者模式”来运行本地插件,但是每次启动都会有一个烦人的“请停用以开发者模式运行的扩展程序”提示,这个提示有多烦人,接触过的人都知道,启动的时候它不立即提示,等过了几秒钟等你打开某个网页开始执行某些操作时它突然弹出来干扰你的操作,真是苦不堪言!所以总想着如何把它给去掉。 解决方法网上... 阅读全文

@2018-03-12 前端综合 浏览(5113)
#
网络安全小白记一次服务器被攻击排查全过程

背景早上到公司发现个人网站打不开,一直在转,用xshell连接服务器,虽然能连上,但是卡到爆,处于完全无法操作的状态,登录阿里云后台发现CPU使用率持续超过45%: 可怜的1M带宽也被全部占用(也就是截图中的1122kbps): 想查看是哪个进程占用这么大的CPU和带宽,但是带宽被未知程序占用,xshell完全连不上,怎么破!最后只能强制重启服务器,重启之后CPU和带宽立马恢复正常,网... 阅读全文

@2018-03-01 网站建设 浏览(4921)
#
利用Chrome开发者工具对Android移动端页面进行远程调试

前言曾经对这一块不知道多熟悉,一年多没接触移动端开发,竟然连远程调试怎么打开都不记得了,所以看来啊,任何东西无论多简单都要做笔记,这是这的! 下面开始其实真的非常简单! 第一步,开启USB调试模式这个就不用细说了,是个人都知道怎么开启。 第二步,连接手机和电脑连上基本就不用管了,驱动都不用装,这个后面再细说。 第三步,手机使用Chrome访问任一网站也可以不使用Chrome,但是使用Chr... 阅读全文

@2018-02-08 移动端 浏览(4534)
#
Chrome浏览器控制台的一个不知道能不能算bug的bug

正文直接上代码: var obj = {a:1, b:2};console.log(obj);obj.b = 3;console.log(obj) 效果如下: 收起时显示的还是旧的值,展开时才是新的,最近就因为这个问题坑了我半天,后来才发现代码没问题,是Chrome控制台显示问题。水文一篇,记录下来! ... 阅读全文

@2018-01-17 JavaScript 浏览(3125)
#
如何让number类型的input支持小数提交

正文如下代码: <form> <input type="number" name="test"/> <input type="submit" value="提交"/></form> 输入时可以正常输入数字和小数点,但是提交的时候浏览器会拦截,不允许输入小数: 修改如下即可,step表示允许的小数位个数,比如2位小数用0.01,3... 阅读全文

@2018-01-12 HTML 浏览(7855)
#
JavaScript数字精度问题总结

常见错误console.log(0.1+0.2); // 输出 0.30000000000000004console.log(0.3-0.1); // 输出:0.19999999999999998console.log(0.07*100); // 输出 7.000000000000001console.log(0.07/0.01); // 输出 7.000000000000001 相关文章: ... 阅读全文

@2018-01-05 JavaScript 浏览(3196)
#
【重要通知】即日起,本站开始启用全新域名 haoji.me (好记么)!

如题鉴于之前的域名太长不太好记,经过长时间的慎重考虑以及一段时间的精心准备,本站即日起(2017年11月21日)开始启用全新域名 http://haoji.me (好记么)!旧域名除了极少数仍然保留外,大部分都做了301自动重定向处理,所以大可放心。 做这个决定也是下了一番决心,因为本站上线已有1年多,换域名要做的工作非常多:买域名、重新备案、代码改造、cnzz统计需要重新弄,QQ登录、微博登... 阅读全文

@2017-11-21 网站建设 浏览(4475)
#
【重要更新】多说评论关闭后,本站自己实现的评论系统上线

背景和感叹多说自2017年6月关闭后,本站的评论系统就一直处于关闭状态,有严重拖延症的我终于在最近疯狂晚上加班了一阵把它完成了,拖拖拉拉这么久了,再拖下去自己估计都快疯掉了。 转纯前端快1年来,感觉自己Java的功底真的是在退步,评论这样一个很简单的东西我竟然很多地方都写的很吃力,方案换了一套又一套,代码重写了一遍又一遍,再加上自己的强迫症太严重,哎,具体细节后面再道来。 最终效果界面效果大部... 阅读全文

@2017-11-14 网站建设 浏览(6313)
#
评论测试页面

公告本站评论功能今天上线,欢迎大家随意评论、灌水! 这个页面是专门的评论测试页面,除非恶意谩骂、攻击、色情等评论,一般我不会删除的。 ... 阅读全文

@2017-11-14 网站建设 浏览(4186)
#
编辑页面离开时弹出提示

正文N年前就知道,只是没记录过,所以今天写下来。主要是借助window.onbeforeunload来实现: JS写法: window.onbeforeunload = function(){ return '修改尚未保存,确定放弃吗?';};//或者这样写:window.onbeforeunload = function(event){ event.returnValue = '... 阅读全文

@2017-08-22 JavaScript 浏览(7450)
#
vue2.x遇到的问题总结

vue2.x中单选框单击事件延迟问题前一阵子发现@click存在延迟问题,今天又碰到了发现又没有,所以仔细对比了一下。 由于项目中单选框的样式是由label实现的,真实的input隐藏起来了: <template v-for="(item, i) in dimensions" > <label class="checkbox-inline" :for="'dimensi... 阅读全文

@2017-08-15 JavaScript 浏览(3369)
#
如何将nodejs制作的控制台程序打包成exe

前言虽然控制台程序本来就是没有界面的,打包成exe有点多余,但是如果想把写好的代码发给一个非程序员使用,可能还要教人家如何装node,如何运行…… 麻烦死了! 本文采用的方法是先用批处理包装,然后再将批处理打包成exe,批处理转exe的工具很多,我这里随便找了一个Bat To Exe Converter来实现。 正式开始目标我们肯定希望生成的exe是这样的: 双击即可运行,临时文件不能生... 阅读全文

@2017-06-22 Node.js 浏览(24405)
#
关于nodejs的启动路径和当前路径问题

前言本文对nodejs的工作目录和当前目录问题进行好好的测试验证。 【20160622更新】:本文没什么看的价值,水文一篇,特此提醒! 验证如下,建立文件D:\myjs\test.js如下: const fs = require('fs');const path = require('path');const {exec} = require('child_process');console... 阅读全文

@2017-06-16 Node.js 浏览(8858)
第3页,共9页