前端

vue 刷新当前页面

在不刷新页面的情况下,更新页面。这个 issue 两年前就提出来了,之前的文章里面也提供了一个 解决方案。在这里分享一下,我目前使用的新方案。

web安全:什么是 XSS 和 CSRF

在 Web 安全领域中,XSS 和 CSRF 是最常见的攻击方式。本文将会简单介绍 XSS 和 CSRF 的攻防问题。

关于移动端click 300ms延迟

为了解决移动端适配的问题,提出了 viewport 的解决方案,基于 无障碍(accessibility)(需要代理)交互设计师为了更好的用户体验,特地提供了 双击缩放 的手势支持。移动浏览器 会在 touchend 和 click 事件之间,等待 300 - 350 ms,判断用户是否会进行双击手势用以缩放文字。

前端路由原理解析和实现

路由的概念来源于服务端,在服务端中路由描述的是 URL 与处理函数之间的映射关系。 在 Web 前端单页应用 SPA(Single Page Application)中,路由描述的是 URL 与 UI 之间的映射关系,这种映射是单向的,即 URL 变化引起 UI 更新(无需刷新页面)。

浏览器网页链接打开本地exe客户端程序

我们经常可以看到在浏览器打开客户端的场景:浏览器打开 QQ 聊天窗口,百度网盘打开网盘客户端下载等。

我们如何使用浏览器网页链接打开本地 exe 客户端程序?

用 Vue 编写抽象组件

看过 Vue 源码的同学可以知道,<keep-alive><transition><transition-group>等组件 组件的实现是一个对象,注意它有一个属性 abstracttrue,表明是它一个抽象组件

Vue 的文档没有提这个概念,在抽象组件的生命周期过程中,我们可以对包裹的子组件监听的事件进行拦截,也可以对子组件进行 Dom 操作,从而可以对我们需要的功能进行封装,而不需要关心子组件的具体实现。

webpack 按需打包 loadsh

Loadsh 是一个一致性、模块化、高性能的 JavaScript 实用工具库。在数据操作时,我们经常会用的 loadsh 封装好的一些工具方法,但是并不想把整个包打包进项目里面。 以下提供几个按需打包 lodash 的方法。

JSONP原理及简单实现

JSONP 全称 JSON with Padding,用于解决 AJAX 跨域问题的一种方案。

由于同源策略的限制,浏览器只允许 XmlHttpRequest 请求当前源(域名、协议、端口)的资源,而对请求 script 资源没有限制。通过请求 script 标签实现跨域请求,然后在服务端输出 JSON 数据并执行回调函数,这种跨域的数据的方式被称为 JSONP。

JSON格式化校验的方法

Javascript 目前没有提供判断 JSON 数据格式是否正确的方法。 在得到 JSON 数据后,若 JSON 格式错误,程序不能正常解析,抛出 Uncaught SyntaxError 将导致程序终止运行。在解析 JSON 数据之前进行校验,可避免这种情况的发生。