js
阿之阿佐
小小的一枚努力型前端
展开
-
移动端safari,video播放外源url 403问题
video元素添加crossorign="anonymous"原创 2023-01-30 18:41:22 · 258 阅读 · 0 评论 -
input[type=number]还能输入+-.,不能限制长度
改为input=tel<input v-model="validi" maxlength="6" type="tel" @keydown="validiInput($event)" placeholder="请输入验证码" ref="validiRef">validiInput(e){ let prohibitInput= ["-", "+","."]; if(prohibitInput.includes(e.target.value)){ this..原创 2020-06-16 15:06:57 · 572 阅读 · 0 评论 -
ios13.4.1 html2canvas无法生成海报
版本问题:改用就好"html2canvas": "1.0.0-rc.4",原创 2020-05-26 16:16:23 · 1029 阅读 · 0 评论 -
IOS 13.4版本长按二维码,无法识别二维码而是放大图片
加上-webkit-touch-callout: none;https://developer.mozilla.org/zh-CN/docs/Web/CSS/-webkit-touch-callout原创 2020-05-19 18:33:52 · 1275 阅读 · 0 评论 -
JS监听移动端虚拟键盘唤起收起
const ua = navigator.userAgentlet isShow = false if (/(?:Android)/.test(ua)) { const innerHeight = window.innerHeight; window.addEventListener('resize', () => { const newInnerHeight = window.原创 2020-05-09 16:28:35 · 1062 阅读 · 0 评论 -
js获取url参数,支持vue hash模式
function getQueryString(name){ const reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)'); const r = window.location.search.substr(1).match(reg) || window.location.hash.substring((w...原创 2021-07-08 16:08:09 · 828 阅读 · 0 评论 -
vue移动端-本地调试的两个方法
1.通过局域网ip访问——更改项目的host配置1) vue-cli2: config/index.jsdev.host改为"0.0.0.0",重启之后就可以通过本地ip或者localhost访问2)vue-cli3:vue.config.jsdevServer.host改为"0.0.0.0",重启之后就可以通过本地ip或者loca...原创 2019-10-23 17:53:03 · 1946 阅读 · 1 评论 -
js 初始化并填充数组
array.fill(value, start, end)原创 2019-05-04 19:44:18 · 3905 阅读 · 0 评论 -
比较两个日期大小
/** * 比较两个日期大小 * @param beginTime 为开始时间 YYYY-MM-DD HH:MM:SS * @param endTime 为结束时间 YYYY-MM-DD HH:MM:SS * @return boolean * */export const compareTime = (beginTime='2019-01-01 12:12:12',endTime=...原创 2019-04-27 21:09:22 · 2385 阅读 · 0 评论 -
计算时间差
** *计算时间差 * @param beginTime 为开始时间 YYYY-MM-DD HH:MM:SS * @param endTime 为结束时间 YYYY-MM-DD HH:MM:SS */export const calcDateDiff=(beginTime='2019-01-01 12:12:12',endTime='2019-01-01 12:12:13')=>...原创 2019-04-27 21:08:53 · 784 阅读 · 0 评论 -
taro Taro.switchTab、微信小程序wx.switchTab后,不刷新页面的问题
onShow()周期还是能执行的;taro对应componentDidShow()原创 2019-04-22 23:40:21 · 3298 阅读 · 0 评论 -
微信开发者功能,授权按钮点击不了的解决方法
document.getElementById("btnOk").click();原创 2019-04-26 11:26:15 · 1969 阅读 · 0 评论 -
taro 渲染富文本,多个富文本切换
官网demo:https://github.com/NervJS/taro-components-test/blob/master/src/pages/wxParse/wxParse.js多个富文本切换,主要用到display:none,当显示的时候,重新生成富文本import Taro, { Component } from "@tarojs/taro"import { View...原创 2019-04-17 02:21:46 · 4692 阅读 · 0 评论 -
js数组排列组合
const arr1 = ['1', '2', '3'];const arr2 = ['a', 'b'];// 用来作为运算的二维数组const arr3 = [arr1, arr2, ['x', 'y']]const result = arr3.reduce((last, el) => { const arr = []; // last:上次运算结果...原创 2019-03-06 09:18:39 · 1912 阅读 · 0 评论 -
一些js面试题
1、spacify('hello world') // => 'h e l l o w o r l d' function spacify(str) { return str.split('').join(' '); }2、log('hello world'); function log(){ console.log.apply(console, argum...原创 2019-01-23 09:39:14 · 145 阅读 · 0 评论 -
Vue.extend 使用粟子
//获取组件实例 const Constructor = Vue.extend(Counter); //挂载组件 const vm = new Constructor().$mount(); //获取button const button = vm.$el.querySelector('button'); //新建点击事件 const cl...原创 2019-01-16 22:53:05 · 199 阅读 · 0 评论 -
深拷贝和浅拷贝
一。浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存。但深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象。二。赋值和浅拷贝的区别当我们把一个对象赋值给一个新的变量时,赋的其实是该对象的在栈中的地址,而不是堆中的数据。也就是两个对象指向的是同一个存储空间,无论哪个对象发生改变,其实都是改变的存储空间的内容,因此,两个对象是联动...原创 2019-01-22 17:26:05 · 146 阅读 · 0 评论 -
小程序监听左滑右滑
<view bindtouchstart="touchStart" bindtouchend="touchEnd" ></view>let touchDotX = 0;//X按下时坐标let touchDotY = 0;//y按下时坐标let interval;//计时器let time = 0;//从按下到松开共多少时间*100// 触摸开始事件 to...原创 2019-05-07 00:23:02 · 2432 阅读 · 0 评论 -
小程序,Taro,生成图片并保存本地相册
//注意:不能在子组件里使用import Taro, { Component, Config } from '@tarojs/taro'import './index.scss'import { View } from '@tarojs/components'class Auth extends Component { config: Config = { navigat...原创 2019-05-08 01:37:14 · 7002 阅读 · 1 评论 -
js求随机数公式
1.从1开始至任意值的整数:parseInt(Math.random()*上限+1);2.从任意值至任意值的整数:parseInt(Math.random*(上限-下限+1));原创 2018-04-22 21:38:47 · 650 阅读 · 0 评论 -
postcss-pxtorem 忽略某一些类名
.postcssrc.js// https://github.com/michael-ciniawsky/postcss-load-configmodule.exports = { plugins: { "postcss-import": {}, "postcss-url": {}, autoprefixer: {}, "postcss-pxtorem...原创 2019-09-19 16:56:14 · 4397 阅读 · 0 评论 -
js 判断两个时间区间是否重叠
/** * 判断两个时间区间是否重叠 * @params timeA array[startTimeString,startTimeString] * @params timeB array[startTimeString,startTimeString] * @return boolean * */export const checkTimeOverlap = (timeA,tim...原创 2019-09-11 15:44:21 · 1701 阅读 · 0 评论 -
commitlint+husky,限制git提示信息
一、安装依赖:yarn add @commitlint/config-conventionalyarn add @commitlint/cliyarn add husky二、package.json增加"husky": { "hooks": { "commit-msg": "commitlint -E HUSKY_GIT_PARAMS" }},三、根目录增加文件...原创 2019-09-05 16:41:57 · 2567 阅读 · 0 评论 -
Taro无法传参 props为空
原因是》》》》》》》》》》》》》Taro v1.3+,组件props机制改了,日了狗了https://nervjs.github.io/taro/docs/miniprogram-plugin.html#taro-v13-%E7%BB%84%E4%BB%B6%E6%8F%92%E4%BB%B6%E6%8E%A5%E5%8F%97%E5%A4%96%E9%83%A8-props-%E7%9A...原创 2019-08-29 17:09:07 · 1761 阅读 · 0 评论 -
批量倒计时-web
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <me...转载 2019-06-30 16:20:40 · 291 阅读 · 0 评论 -
vue 超过内容展开折叠组件,支持for多个
///////////////////////////////////////////偷个懒,只做了3行4行的,其他的行数请自行计算 let num//////////////////////////////////////////<template> <div> <div class="text-wrapper" :cl...原创 2019-06-11 11:04:36 · 2410 阅读 · 2 评论 -
input file注意
1、multiple="multiple" capture="camera"安卓表现为 可拍照可图库 ios 只可拍照2、multiple="multiple" 无capture安卓表现为 只可拍照 ios可拍照可图库3、无multiple capture="camera"安卓表现为 只可图库 ios只可拍照4、无multiple 无capture安卓ios 都可拍照可图库...原创 2021-07-08 16:08:31 · 122 阅读 · 0 评论 -
js获取元素的位置
// 获取元素在页面上的绝对位置 function getElementPageLeft(element){ var actualLeft=element.offsetLeft; var parent=element.offsetParent; while(parent!=null){ actualLeft+=pare...原创 2019-05-13 01:04:27 · 4260 阅读 · 0 评论 -
mocha+chai 笔记
npm install --global mocha// 相等或不相等expect(4 + 5).to.be.equal(9);expect(4 + 5).to.be.not.equal(10);expect(foo).to.be.deep.equal({ bar: 'baz' });// 布尔值为trueexpect('everthing').to.be.ok;expe...原创 2019-01-16 22:37:29 · 647 阅读 · 0 评论 -
vue watch的简单实现
class Dep { constructor(){ this.subscribers=[]; } depend(){ if(target&&!this.subscribers.includes(target)){ this.subscribers.push(target); } } notify(){...原创 2019-01-21 17:29:28 · 543 阅读 · 0 评论 -
获取cookie
function getCookie(c_name) { if(document.cookie.length > 0) { c_start = document.cookie.indexOf(c_name + "=");//获取字符串的起点 if(c_start != -1) { c_start ...原创 2019-01-02 09:20:58 · 150 阅读 · 1 评论 -
js 根据url 下载图片
downloadIamge(imgsrc, name) {//下载图片地址和图片名 let image = new Image(); // 解决跨域 Canvas 污染问题 image.setAttribute("crossOrigin", "anonymous"); image.onload = function() { let canvas = document.cr...原创 2018-10-19 10:17:11 · 17558 阅读 · 8 评论 -
设置cookie
_setCookie(c_name, value, expiredays = "2018-09-22") { let exdate = new Date(); exdate.setDate(exdate.getDate() + expiredays) document.cookie = c_name + "=" + escape(value) + ((expiredays =...原创 2018-09-12 19:49:48 · 220 阅读 · 0 评论 -
collapse.js,折叠效果
const elTransition = "0.3s height ease-in-out, 0.3s padding-top ease-in-out, 0.3s padding-bottom ease-in-out";const Transition = { "before-enter"(el) { el.style.transition = elTransition; ...转载 2018-09-09 15:54:33 · 3042 阅读 · 0 评论 -
js数组按大小切片
function sliceArr(arr,size){ var d=0; var resultArr=[]; if(arr.length%size===0){ d=arr.length/size; }else{ d=Math.ceil(arr.length/size) } var last=0; for(var a=0;a<d;a++){ if(size*a+...原创 2018-05-15 10:25:01 · 2246 阅读 · 0 评论 -
js关闭当前窗口
this.window.opener = null; window.close();原创 2018-04-25 11:07:45 · 1967 阅读 · 0 评论 -
判断当前页面是否修改内容,并在离开页面的时候给出提示
let _this=this;window.onbeforeunload = function() { let nowOrderVo=JSON.stringify(_this.orderVo); if (_this.copyOrderVo!==nowOrderVo) { try { return "当前修改尚未保存,是否离开?"; } catch (err) ...原创 2018-04-20 18:49:52 · 6098 阅读 · 0 评论 -
vue 拖拽排序
<template> <section class="main"> <div class="drag-box-left"> <div class="drag-title">拖动排序</div> <div class="转载 2018-03-27 10:16:43 · 4576 阅读 · 1 评论 -
js 二维数组排列组合
var arr=[['1'], ['2', '2'], ['1', '2', '1']]var array = getArrayByArrays(arr); console.log(array)function getArrayByArrays(arrays) { var arr = [""]; for(var i = 0;i<arrays.l...转载 2018-03-24 23:56:41 · 2437 阅读 · 0 评论 -
js 排列组合
function doExchange(arr){ var len = arr.length; // 当数组大于等于2个的时候 if(len >= 2){ // 第一个数组的长度 var len1 = arr[0].length; // 第二个数组的长度 var ...转载 2018-03-18 13:30:43 · 814 阅读 · 0 评论