js代码

H5手把手教微信授权分享

别说谁变了你拦得住时间么 提交于 2019-12-16 14:04:58
导语 使用微信分享,可以获得更好的传播效果。那如何利用微信公众号向好友进行信息分享呢? 这里以分享 微信红包 为例,手把手教大家实现微信授权与分享。 步骤一. 用户信息获取 1. 注册测试公众号 我们在 https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 可以申请一个测试账号,在测试号管理的页面中能够看到我们appId等信息,这里有个接口配置信息修改的选项需要我们去填写 这里就要麻烦后端的同学为我们提供URL和Token(URL是开发者用来接收微信消息和事件的接口URL。Token可由开发者任意填写,用作生成签名) 该Token会和接口URL中包含的Token进行比对,从而验证安全性。 2. 微信网页授权 在项目中需要获取用户个人信息,比如手机号和微信头像等,这里我们需要微信网页授权才可以实现,首先在微信测试号管理中找到体验接口权限表 点击修改进入: 将你网页的域名添加进去,配置完成后我们对这个路径进行访问 https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect 即可拿到

js解决大文件断点续传

ぃ、小莉子 提交于 2019-12-16 13:18:01
最近遇见一个需要上传百兆大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现。 在某些业务中,大文件上传是一个比较重要的交互场景,如上传入库比较大的Excel表格数据、上传影音文件等。如果文件体积比较大,或者网络条件不好时,上传的时间会比较长(要传输更多的报文,丢包重传的概率也更大),用户不能刷新页面,只能耐心等待请求完成。 下面从文件上传方式入手,整理大文件上传的思路,并给出了相关实例代码,由于PHP内置了比较方便的文件拆分和拼接方法,因此服务端代码使用PHP进行示例编写。 本文相关示例代码位于github上,主要参考 聊聊大文件上传 大文件切割上传 文件上传的几种方式 首先我们来看看文件上传的几种方式。 普通表单上传 使用PHP来展示常规的表单上传是一个不错的选择。首先构建文件上传的表单,并指定表单的提交内容类型为enctype="multipart/form-data",表明表单需要上传二进制数据。 然后编写index.php上传文件接收代码,使用move_uploaded_file方法即可(php大法好…) form表单上传大文件时,很容易遇见服务器超时的问题。通过xhr,前端也可以进行异步上传文件的操作,一般由两个思路。 文件编码上传 第一个思路是将文件进行编码,然后在服务端进行解码,之前写过一篇在前端实现图片压缩上传的博客

JS 常用正则表达式

a 夏天 提交于 2019-12-16 13:06:55
验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$ 验证非零的正整数:^\+?[1-9][0-9]*$ 验证非零的负整数:^\-[1-9][0-9]*$ 验证非负整数(正整数 + 0) ^\d+$ 验证非正整数(负整数 + 0) ^((-\d+)|(0+))$ 验证长度为3的字符:^.{3}$ 验证由26个英文字母组成的字符串:^[A-Za-z]+$ 验证由26个大写英文字母组成的字符串:^[A-Z]+$ 验证由26个小写英文字母组成的字符串:^[a-z]+$ 验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$ 验证由数字、26个英文字母或者下划线组成的字符串:^\w+$ 验证用户密码:^[a-zA-Z]\w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。 验证是否含有 ^%&',;=?$\" 等字符:[^%&',;=?$\x22]+ 验证汉字:^[\u4e00-\u9fa5],{0,}$ 验证Email地址:^\w+[-+.]\w+)*@\w+

响应式布局开发

别等时光非礼了梦想. 提交于 2019-12-16 10:39:41
目录 移动web介绍和两种开发方式(响应式开发方式 原生的开发方式) 响应式的原理(CSS3的媒体查询) 响应式开发框架(Bootstrap) 的介绍和基本信息-优势-版本 了解框架和库的区别 主导者不一样 入门Bootstrap 起步 下载和引包 阅读Bootstrap的文档 了解常用的全局CSS样式 和 组件 和JS插件 搭建项目目录结构 创建主页引包 设置网页字体和空结构 字体图标的生成 和使用 总结 移动web前言 移动web : 移动端手机浏览器或者微信里面浏览的 网页 移动APP : 手机上需要下载安装的 应用程序 1. 移动web介绍 1.1 响应式开发 一套代码运行多个终端 优点:开发快 维护快 适配好 缺点加载速度慢 1.2 纯原生移动web开发 一套代码运行一个端 优点: 加载速度快 缺点开发慢 维护慢 适配差 1.3 应用场景 : 响应式开发用在一些新建的网站(PC和移动同时出来) 对加载速度要求不是很高 纯原生移动web开发 一般会用在一些已经有PC端上线的网站 再次开发移动端 移动端需要加载速度很快的网站 2. 响应式开发原理 2.1 CSS3的媒体查询: 通过查询屏幕的的宽度来指定某个宽度区间的网页布局 2.2 常见设备的屏幕宽度 超小屏幕(手机) 768px以下 小屏设备(平板) 768px-992px 中等屏幕(旧式电脑) 992px-1200px

JS中的call、apply、bind方法详解

╄→гoц情女王★ 提交于 2019-12-16 10:37:24
文章目录 apply、call apply、call 区别 apply、call实例 数组之间追加 获取数组中的最大值和最小值 验证是否是数组(前提是toString()方法没有被重写过) 类(伪)数组使用数组方法 面试题 bind 绑定函数 部分函数(Partial Functions) 和setTimeout一起使用 绑定函数作为构造函数 捷径 实现 apply、call、bind比较 (^_^)打赏作者喝个咖啡(^_^) bind 是返回对应函数,便于稍后调用;apply 、call 则是立即调用 。 apply、call 在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(context)而存在的,换句话说,就是为了改变函数体内部 this 的指向。 JavaScript 的一大特点是,函数存在「定义时上下文」和「运行时上下文」以及「上下文是可以改变的」这样的概念。 function Fruits() {} Fruits.prototype = { color: "red", say: function() { console.log("My color is " + this.color); } } var apple = new Fruits; apple.say(); //My color is red

js基础-循环结构

谁说胖子不能爱 提交于 2019-12-16 10:17:34
循环结构 循环结构,就是根据某些给出的条件,重复的执行同一段代码 循环必须要有某些固定的内容组成 初始化 条件判断 要执行的代码 自身改变 WHILE 循环 while ,中文叫 当…时,其实就是当条件满足时就执行代码,一旦不满足了就不执行了 语法 while (条件) { 满足条件就执行 } 因为满足条件就执行,所以我们写的时候一定要注意,就是设定一个边界值,不然就一直循环下去了 // 1. 初始化条件 var num = 0 ; // 2. 条件判断 while ( num < 10 ) { // 3. 要执行的代码 console . log ( '当前的 num 的值是 ' + num ) // 4. 自身改变 num = num + 1 } 如果没有自身改变,那么就会一直循环不停了 DO WHILE 循环 是一个和 while 循环类似的循环 while 会先进行条件判断,满足就执行,不满足直接就不执行了 但是 do while 循环是,先不管条件,先执行一回,然后在开始进行条件判断 语法: do { 要执行的代码 } while (条件) // 下面这个代码,条件一开始就不满足,但是依旧会执行一次 do 后面 {} 内部的代码 var num = 10 do { console . log ( '我执行了一次' ) num = num + 1 } while ( num

js原生实现链式动画效果

时光总嘲笑我的痴心妄想 提交于 2019-12-16 10:14:58
// 1. css样式 div { width: 100px; height: 100px; background: olivedrab; position: absolute; left: 0px; opacity: 1; } .top { top: 100px; } .bottom { top: 300px; } // html和JavaScript代码<div class="top"></div> <div class="bottom" style="background-color: coral;"></div> <script> // 多物体多值链式运动框架 // 获取对象样式相对应属性的值 var targetObj = { width: 400, height: 400, opacity: 50, left: 300, top: 200 }      // 获取对应的HTML元素 oDivArray = document.getElementsByTagName('div');      // 调用函数 oDivArray[0].onclick = function() { startMove(this, targetObj, function() { startMove(oDivArray[1], targetObj); }); }      //

原型对象 原型链

浪子不回头ぞ 提交于 2019-12-16 09:49:25
在看了网上很多相关的文章,很多都是懵逼看完,并不是说各位前辈们写得不好,而是说实在不容易在一两次阅读中理解透。我在阅读了一些文章后,自己整理总结和绘制了一些相关的图,个人认为会更容易接受和理解,所以分享在此。也因此以下的所有的理解和图解都是出于个人的理解,如果有错误的地方,请各位前辈务必见谅,并辛苦在下方提出和纠错,我实在担心自己不成熟的理论底子会误导了其余的小兄弟。 一开始,先说说为何这个知识点为什么理解起来这么乱 个人感觉原因有三: JS内函数即对象。 Function对象和Object对象这两个内置对象的特殊性。 很多讲解图的指向一眼下去花里胡哨,看着都头疼[手动狗头]。 再说说,为何网上各位前辈的相关文章都难以参透 很多前辈在讲解相关知识点的时候都是从 proto 开始讲起,但在我看来, proto 与prototype关系之密切是无法单独提出来讲的(单独讲就意味着难以理解);而prototype与constructor又有密切关系,这就造成 一种很尴尬的处境,要先讲 proto 就必然需要同时讲解prototype和constructor属性 ,这个也就是为何对于小白的我们而言这些概念是那么的难以理解。(以上个人看法,仅供参考) 然后在讲讲我个人采取的理解方式 为了更轻松、更有动力地理解透,我采用从 constructor到 proto 原型链一步步“拆解” 的方式去理解

eclipse中js代码自动提示

坚强是说给别人听的谎言 提交于 2019-12-16 09:27:12
eclipse对js和html编写支持不好,js代码无法自动提示,写起来很麻烦,找了好久js相关的eclipse插件,最终确定了下面这个angularjs插件还可以用。 插件下载地址:http://oss.opensagres.fr/angularjs-eclipse/0.5.0/ 知道如何安装的可以直接跳到插件使用方法 插件的安装 点击help -> install new software 打开如下界面,按如下步骤操作,其中Name可以随便起,Location就输入上面的插件地址。 add之后会列出可以下载的插件,全选之后一路next安装即可。 插件使用方法 安装完后,在项目上右键,进行如下图配置。网上有很多教程说可以选择“convert to angularjs project”,我测试了一下不行,只有选择“convert to tern project”才可以,当然,这个convert不是唯一的,不是说你“convert to tern project”后就不能“convert to angularjs project”了,这两个是可以同时存在的,但是想要有js提示,必须选上“convert to tern project”。 设置完上一步后,继续在自己的项目上右键,选“properties”,选择“project natures”,如下图所示,可以看到,刚才我们配置了

JavaScript教程 - 从入门到使用

旧街凉风 提交于 2019-12-16 03:11:11
HTML是房子,CSS是装修,JavaScript是生活 Js放置 内嵌代码 外部文件 使用方式 设置数据 事件分类 变量 声明位置 常规 空值 数组 对象 JavaScript 是一种轻量级的编程语言,可插入 HTML 页面,然后由所有的浏览器执行 ~ Js放置 Js内部文件一般存放的位置在 head标签内 与 body标签后 ,主要便于维护 <!DOCTYPE html> < html > < head > < meta charset = " utf-8 " > < title > 开始的开始 </ title > < script > js可置于head标签内 </ script > </ head > < body > < script > js可置于body标签内 </ script > </ body > < script > js可置于body标签后 </ script > </ html > 内嵌代码 稍后补全 外部文件 一般在正式的环境中我们都会采用外部文件的形式去存储js文件,主要原因有以下三点 安全性 - 防止代码直接暴露,让恶意开发者利用已方未发现漏洞造成损失 维护性 - 针对开发者而言,项目越来越大,那么可维护性就很重要,方便我们第一时间定位问题 缓存 - 多页面引用同一js文件时,仅需加载一次即可;否则多页面同时在各自页面加载同一逻辑