- 博客(69)
- 资源 (11)
- 收藏
- 关注
原创 区分mac和ipad(13.x.x)
升级到13.2.3后,打印ipadnavigator.userAgent字符串发现mac跟ipad一样解决:navigator.maxTouchPoints 返回当前设备能够支持的最大同时触摸的点数ipad环境下打印navigator.maxTouchPoints的数值是5pc环境下打印navigator.maxTouchPoints的数值是0pc环境下,切换到移动端模式(Toggle device toolbar),打印navigator.maxTouchPoints的...
2021-07-28 17:49:37
637
原创 vue打包后nginx非根目录部署(例如:http://127.0.0.1/backend)
这里使用的是history模式1. 更改vue-router配置mode: 'history',base: '/backend',2.更改vue.config.js配置publicPath: '/backend',3.更改nginx配置 location ^~/backend { alias D:\phpstudy_pro\WWW; try_files $uri $uri/ @rewrites; } location @rewrit...
2021-07-26 17:33:57
510
原创 图片裁剪(压缩,裁剪图片)
原理:先固定canvas的宽高,把整张图片放到canvas中,这时整张图片就已经同比例缩小了,再获取canvas缩小的图像数据,转成base64 。如果对截取的高度有要求,会从中心位置上下截取要求的高度。效果图:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport content=" width="device-w
2021-07-22 12:16:57
405
2
原创 nextJs 跨域访问接口数据
在next.config.js中使用rewrites解决跨域async rewrites() { return [ { source: '/api/:path*', destination: `http://xxx.com/api/:path*` } ] }接口调用的时候使用 '/api/...'这种格式,当然也可以使用express,网上教程很多...
2021-06-28 13:13:36
1976
1
原创 nextjs 点击返回按钮,恢复返回页面的滚动位置
initRouterListeners()function initRouterListeners() { const routes = []; Router.events.on("routeChangeStart", url => { pushCurrentRouteInfo(); }); Router.events.on("routeChangeComplete", url => { window.requestAnimationFrame(() => wi.
2021-06-10 10:28:55
1194
2
原创 css 切换主题 (通过js改变css的值)
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" /> <title>切换主题</title></head><style> :root { --text-col: #b53838 } :root[theme='dark'] { --text-col: #16cd4.
2021-01-29 16:51:36
281
原创 图片裁剪(个人中心的头像)
不是正方形的图片按照宽高最小的一边截取成正方形的图片,原点是中心位置<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport content="width="device-width, initial-scale=1.0"> <meta http-equiv="x-ua-compatible" conte
2020-12-14 14:05:59
224
1
原创 electron之打包自定义安装界面(electron-builder)
1. 先添加配置"nsis": { "include": "scripts/installer.nsi", "allowToChangeInstallationDirectory": true, "createDesktopShortcut": true, "oneClick": false, "menuCategory": false, "perMachine": true },2. 新建installer.nsi文件,写入下面的内容,这里面的
2020-12-01 18:59:07
6851
2
原创 electron之导出pdf (html-pdf) (自定义页眉页脚)
项目中导出pdf使用的是 html-pdf 这个包,通过渲染好的html,导出pdf一般按照正常流程引入包直接使用就可了 (yarn add html-pdf)但是打包之后生成pdf就会报错Error: write EPIPE at errnoException (net.js:905:11) at Object.afterWrite (net.js:721:19)原因:asar文件只是可读的,不支持写入文件操作官网的原话 :解决:把phantomjs.exe和
2020-12-01 18:45:20
1609
1
原创 electron之微信扫码登陆(不使用轮询)
先说先思路:在要扫码的页面嵌入webview,注意这个webview是隐藏在页面的后面,里面是微信的扫码登陆界面,获取这个页面的二维码,然后把这个码显示到真实的页面上,用户扫码之后在webview里面的页面就会触发微信的回调,监听这个回调,获取自家服务器返回的信息,判断用户是否能够登陆1.嵌入webview<webview id="webview" :src="wxloginurl"></webview>2. 生成微信的扫码页面,就是上面wxloginurlco.
2020-11-12 11:40:59
2362
3
原创 nuxt项目用pm2部署
1.项目根目录下 新建ecosystem.config.js2. 配置module.exports = { apps: [ { name: "nuxtJs", script: "npm", args: "run start", instances: 1, autorestart: true, watch: false, max_memory_restart: "1G", env: {
2020-11-10 10:41:06
826
原创 nuxt用pm2部署后服务器再次更新代码时端口冲突问题
在配置文件ecosystem.config.js 中修改post-deploy 的参数为yarn && yarn run build && pm2 delete 项目名称 && pm2 start npm --name=项目名称 -- run start注意在更新前要先删除原先服务器所起的服务(pm2 delete 项目名称),然后再重新启动...
2020-11-10 10:33:42
548
原创 electron之web Worker(引入第三方模块)
1. 引入:worker-loader2. webpack配置:{ test: /\.worker\.js$/, loader: 'worker-loader'},3. 新建xx.worker.js4.引入第三方模块(看需要引入)const path = require('path')const baseUrl = process.env.WEBPACK_DEV_SERVER ? 'node_modules' : path.join(process.resourcesP.
2020-11-09 12:10:56
3705
原创 electron之点击左上角关闭按钮隐藏,再次打开不重新加载窗口
const electron = require('electron');const app = electron.app;let willQuitApp = false;let window;app.on('ready', () => { window = new electron.BrowserWindow(); window.on('close', (e) =&...
2019-11-12 12:18:39
2746
2
原创 python 图灵机器人
# -*- coding:UTF-8 -*-#!/usr/bin/python3import requestsimport itchatimport timedef get_response(msg): # 图灵机器人微信好友自动回复 KEY = 'c5bc10cce8eb4757aa04d0045627de81123123123' apiUrl = 'h...
2019-06-24 17:11:23
506
原创 解决调用接口时的OPTIONS请求
后台设置("Access-Control-Max-Age","1800"),表示隔30分钟才发起预检请求。"Access-Control-Allow-Origin"表明它允许"*"发起跨域请求"Access-Control-Max-Age"表明在3628800秒内,不需要再发送预检验请求,可以缓存该结果"Access-Control-Allow-Methods"表明它允许GET...
2019-06-05 17:30:16
7268
原创 常用正则表达式
数字+字母,数字+特殊字符,字母+特殊字符,数字+字母+特殊字符组合,而且不能是纯数字,纯字母,纯特殊字符^(?![\d]+$)(?![a-zA-Z]+$)(?![^\da-zA-Z]+$).{6,20}$...
2019-05-28 12:47:43
128
2
原创 应用程序缓存之--manifest
作用:禁用网络之后能够依然访问网站使用:1.新建一个以.appcache结尾的文件,比如:demo.appcache2.在index.html的html标签里加入manifest属性,比如<html lang="en" manifest="demo.appcache"> </html>3.在demo.appcache文件中配置CACHE MANI...
2019-05-23 00:29:15
416
1
原创 小程序npm构建提示没有找到node_modules
在miniprogram目录执行命令1、第一步:npm init2、第二步:npm install --production3、第三步:npm i vant-weapp -S --production执行这三步然后选择构建npm完美!!!!!...
2019-04-20 20:45:19
1681
1
原创 JQuery-------prop/arrt
相同点:都是用来获取和设置节点属性不同点:用prop获取时,节点属性存在返回true,不存在返回false用attr获取时,节点属性存在返回checked等,不存在时返回 undefined<input type="checkbox" checked name="" value="">console.log($('input').prop('checked')...
2019-03-30 23:08:01
162
1
原创 input复选框
<html> <head> <meta charset="utf-8"> <style> input[type="radio"] { width: 16px; height: 16px; opacity: 0; } label { position: re...
2019-03-28 17:39:50
978
原创 前端面试题一
前端的整体知识体系一,js的数据类型基本类型:null,undefined,boolean,number,string,(symbol)引用类型:object,array,function二,判断数据类型基本数据类型用typeof()判断引用类型用instanceof判断,判断一个变量是否是一个对象的实例用instanceofvar arr = []arr insta...
2019-03-26 00:09:02
288
1
原创 ionic(angular)之优化路由(路由懒加载,包括js文件和html,css都按需加载)
1.先在index.html中引入ocLazyLoad.min.js<script src="https://cdn.bootcss.com/oclazyload/1.1.0/ocLazyLoad.min.js"></script>2.注入oc.lazyLoadangular.module('app', ['ionic','oc.lazyLoad'])3...
2019-01-13 21:33:42
1096
原创 vue单页面seo(prerender-spa-plugin,vue-meta-info)
首先来说下prerender-spa-plugin这个插件,是不能处理动态路由的,如果想要是优化一下首页的加载速度,可以使用这个。推荐使用nuxt,这个可以处理动态路由,官网的文档也很好看懂。1. 先安装prerender-spa-plugin插件:cnpm i prerender-spa-plugin --save2. 修改webpack配置项,,在build目录下的webpack....
2019-01-11 23:28:41
835
原创 ionic时间日期插件
<!DOCTYPE html><html><head> <meta charset="UTF-8"> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Contro
2019-01-03 15:39:59
413
原创 jquery-fly实现添加购物车抛物线效果(angular版)
<!DOCTYPE html><html ng-app="myApp"><head> <meta charset="UTF-8"> <meta http-equiv="Pragma" content="no-cache"> <meta http
2019-01-03 13:11:06
244
原创 用php文件弄个简单接口
<?php$output = array( 'data' => '数据', 'msg' => '获取成功', 'code' => 200);exit(json_encode($output))
2018-12-28 14:05:03
459
原创 vue-------------2.9.6 vue cli---------2.9.6
"axios": "^0.18.0","element-ui": "^2.4.9","less": "^3.8.1","lib-flexible": "^0.3.2","mint-ui": "^2.2.13","px2rem-loader": "^0.1.9"
2018-12-27 19:04:36
610
原创 获取url键值
String.prototype.urlkey=function (){ if(!this.split('?')[1])return; let arr=this.split('?')[1].split('&'); let arrs=[],arrAll=[] arr.forEach(item=>{ arrAll.push(item.split('=')...
2018-12-05 23:39:50
358
原创 linux部署项目
VMware Workstation 12 官方专业版链接:https://pan.baidu.com/s/1sZW7Q1Waq0HfQJqXFCwI2w 提取码:1iqs centOS: 网易镜像:http://mirrors.163.com/centos/7.6.1810/isos/x86_64/安装网卡工具:yum install net-tools 查看ip命令:i...
2018-12-05 00:13:02
141
原创 angularJs中动态添加入口html文件的title
首先在index.html中加上<title ng-bind="title"></title>然后在需要的地方或全局加上$rootScope.$watch('title',function(){ document.title = '我是动态的';});就可以了...
2018-11-30 17:10:28
1009
原创 mpvue中的npm依赖版本升级,导致与其他老版本不兼容问题
前几天重装了一下电脑系统(真是手残),把小程序项目直接删了,当时想着再拉一个直接安装不就完了,悲催的事情来了。。。。重新拉取项目,一顿猛操作,项目跑不起来了。。。。(凉凉)例如 :"mpvue": "^1.0.13"~ 会匹配最近的小版本依赖包,比如~1.2.3会匹配所有1.2.x版本,但是不包括1.3.0 ^ 会匹配最新的大版本依赖包,比如^1.2.3会匹配所有1.x.x的包,包括...
2018-11-30 11:38:19
3333
原创 mpvue坑-----onLaunch
在new vue()的时候不能加入store,否则在App.vue文件中onLaunch(){}失效正确的使用姿势:import store from '@/store'Vue.prototype.$store = store
2018-11-29 18:43:49
1881
原创 iscroll.js----下拉加载
引入iscroll-probe.js https://download.youkuaiyun.com/my<div class="wrap"> <div class="content"> 454545 </div> <div class="dropdown">
2018-11-28 22:53:22
152
原创 图形验证码
imgVerifyCode: 'http://xxxxxxx&num=' + Math.floor(Math.random() * 10000)
2018-11-27 12:10:17
278
原创 http缓存机制
http缓存分为两种,一种是强制缓存,一种试协商缓存强制缓存主要通过expires设置缓存过期时间和max-age设置缓存过期得时间段。缺点:太依赖客户端时间,客户端时间错误会引起判断失误解决:使用Cache-Control,主要指令有:public:既能被代理服务器缓存也能被浏览器缓存private:只能被浏览器缓存,不能被代理服务器缓存max-age:用于指定在客户端缓...
2018-11-26 10:10:08
114
原创 input--checkbox样式
<label class="my-checklist-label"> <input type="checkbox" class="my-checkbox-input" value="选项B"> <span class="my-checkbox-core"></span> &a
2018-11-23 16:36:26
885
原创 switch滑动切换按钮样式
<input class="mui-switch mui-switch-animbg" ng-checked="checked==true" ng-click="switchTab()" type="checkbox">.mui-switch { width: 40px; height: 20px; position: relative; b...
2018-11-23 15:34:58
734
原创 AMD,CMD和CommonJs的区别
让我们来看看这些鬼东西都是啥子?------这些都是为了使js模块化的一些规范而已。AMD----特点是前置加载-----代表作require.jsCMD----特点是按需加载-----代表作sea.jsCommonJs----特点是服务器端的规范---代表做nodejs ...
2018-11-22 14:23:24
754
ionic(angular)之优化路由(路由懒加载,包括js文件和html,css都按需加载)
2019-01-13
vue单页面seo(prerender-spa-plugin,vue-meta-info)
2019-01-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人