从HTML5拖放事件探究文件上传功能

拖放事件

HTML5为所有的HTML元素新增了一个draggable属性,表示元素是否允许拖动。默认情况下,图像、链接和文本是可以拖动的,文本只有在被选中的情况下才能拖动。 需要注意的是在ff下只加draggable="true"还不能实现拖放,需要做一些处理,大多数浏览器会为正被拖动的元素创建一个半透明的副本,这个副本始终跟着光标移动。

阅读更多

面向对象程序设计

理解对象

基本概念

在学习面向对象开发之前,我觉的有必要先来了解对象这个东西是什么,ECMA-262把对象定义为:“无序属性的集合,其属性可以包含基本值、对象或者函数”。对象都是基于一个引用类型创建的,这个引用类型可以是原生类型,也可以是开发人员自定义的类型。

阅读更多

Ajax基础和应用

Ajax原理和封装

Ajax全称为 Asynchronous JavaScript and XML (异步JavaScript和XML) ,使用Ajax可以无需刷新页面即可从服务器获取到数据,带来更好的用户体验。Ajax技术的核心是XMLHttpRequest对象,虽然名字中含有XML,但Ajax通信与数据格式无关,从服务器获取的数据可以是XML格式,也可以是JSON格式。目前来说,我们一般使用JSON格式的数据。

阅读更多

闭包的应用

闭包的概念

函数嵌套函数,内部函数可以引用外部函数的参数和变量,外部函数执行完了之后,其变量和参数也不会被垃圾回收机制收回 (注:在JavaScript高级程序设计中对闭包下的定义是:闭包是指有有权访问另一个函数作用域中的变量的函数,这两者并不冲突,我个人 更倾向于闭包是一种概念)

阅读更多

前端安全配置Content-Security-Policy

什么是CSP

​ CSP全称Content Security Policy (内容安全策略),是为了页面内容安全而制定的一系列防护策略. 通过CSP所约束的的规则可以指定可信的内容来源(这里的内容可以指脚本、图片、iframe、font、style等等可能的远程的资源)。

阅读更多

App Links和Universal Links的配置和使用

之前的有一篇博文介绍了Scheme的方式来实现App之间的跳转,但是这种方式有一个问题,就是当我们的移动设备上没有安装该App时,它不能做其他的处理,比如跳转到我们公司的网站里面。在2015年,Google和Apple分别提出了和App Links(只支持Android M及以上系统)和Universal Links(只支持IOS9及以上系统)这两个新特性。这两种方式,可以通过访问HTTP/HTTPS链接直接唤起APP进入具体页面,不需要其他额外判断;如果未安装App,访问此链接时,可以展示你网站的内容。这两种方式有一个要求,你需要有一个域名和自己的服务器,下面分别介绍这两种方式:

阅读更多

浅析移动端深度链接技术

​ 公司的后台管理App,是使用React Native框架来写的,RN框架屏蔽了IOS和Android之间开发方式的差异,使得前端可以通过JavaScript来开发跨平台的原生App,前段时间收到一个需求,需要在App中打开第三方的App并进入某个特定的界面。于是去看了一下RN的官方文档和网上的一些关于App之间通信的技术文章。了解到了深度链接这个东西,但是很多文章要么讲解的不是很清楚,要么就是很久之前的东西,而且没有针对于RN框架来展开的具体的介绍,所以打算自己写一篇博客给大家分享一下深度链接技术。

阅读更多

Android环境生成签名密钥、打包APK

Android要求所有应用都有一个数字签名才会被允许安装在用户手机上,所以在把应用发布到类似Google Play store这样的应用市场之前,你需要先生成一个签名的APK包。Android开发者官网上的如何给你的应用签名文档描述了签名的细节。本指南旨在提供一个简化的签名和打包APK的操作步骤,不会涉及太多理论。

阅读更多

CenterOS7部署静态博客

1
2
yum install nginx       安装nginx 
yum install git 安装git (git clone ...) 静态文放在/usr/src/blog下

阅读更多

使用gulp对博文进行压缩

默认情况下,使用hexo generate命令生成的静态文件没有经过压缩,代码之间会有很多空白行和注释,可以通过gulp对 public 目录中的静态资源文件进行压缩,减少网站整体尺寸大小。下面是具体的步骤:

阅读更多