javascript
FE-Dong
如果一个人没了明确的目标,那么就会被各种琐事打扰,并且没完没了
展开
-
ifame 内嵌,及共享cookie设置
1、判断是否内嵌: window.self === window.top true: 非内嵌,false: iframe 内嵌2、内嵌扫码不跳转问题(sandbox配置) <iframe id="iframe" sandbox="allow-same-origin allow-scripts" src="" frameborder="0"></iframe>3、设置Google 共享cookie* Browse to: chrome...原创 2021-05-08 11:48:59 · 2187 阅读 · 0 评论 -
扫码登录(websocket 和 异步轮训)
扫码登录一般分两步,第一步扫码获取扫码者信息,第二步需要手动确认登录。1、使用websocketimport QRCode from 'qrcodejs2';import SockJS from 'sockjs-client'; import Stomp from 'stompjs';let stompClient = null; mounted() { this.connect(); }, beforeDestroy: functio.原创 2020-06-09 18:16:45 · 1126 阅读 · 0 评论 -
PC端 拖拽上传。
<div class="drag-con" @dragover="fileDragover" @dragenter="dragenter" @dragleave="dragleave" @drop="fileDrop"> <div class="icon"> <svg-icon class="svg-upload" ico..原创 2020-06-09 11:00:09 · 328 阅读 · 0 评论 -
vue中使用 minix 混入
总结: vue中混入是是实现类继承的重要方式。1、minix会在引入文件 中进行 属性和方法的合并(混入)minix优先执行,相同字段名 熟悉会覆盖。相同函数名会合并为一个数组,数组会优先执行minix.demo:// minix.jsexport default { data () { return { name: 'min...转载 2019-12-27 10:52:02 · 4223 阅读 · 5 评论 -
常用vscode 插件
收集大佬整理https://blog.csdn.net/weixin_39876634/article/details/88562183转载 2019-12-18 10:10:40 · 177 阅读 · 0 评论 -
基于vue的 H5背景音乐处理
<template> <div> <div @click="changeOn" :class="isOff?'isOff':'isOn'"> </div> <audio id="audio" :src="require('../assets/mp3/themass.mp3原创 2018-11-27 10:48:13 · 3760 阅读 · 2 评论 -
基于react的颜色拾取器(react-color)
官方文档:http://casesandberg.github.io/react-color/#api-onChangeComplete组件的封装:let React = require('react');import { SketchPicker } from 'react-color';export default class ColorSelect extends React....原创 2018-11-02 09:36:59 · 15882 阅读 · 0 评论 -
3层map内嵌循环,接收不到返回值
如代码所示:必须写3个return,而非是在最里面写一个return。 Object.keys(publishSelectObj).map((key) => { let item = publishSelectObj[key]; return Object.keys(item)....原创 2018-10-24 09:46:07 · 721 阅读 · 1 评论 -
es6 对象深拷贝和浅拷贝
简介:在项目中,为了不影响原有数据,在操作数据时,经常需要深拷贝一个对象,在开发过程中,实践得出。Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。const object1 = { a: 1, b: 2, c: 3};const object2 = Object.assign({c: 4, d: 5}, ...原创 2018-10-24 09:42:21 · 20833 阅读 · 6 评论 -
基于react快速定位日期选择(昨日,今日,本周,本月)
效果图:组件的使用: import FastDate from 'common/MyDatePicker'; //导入组件<Row type="flex" align="middle"> <Col ><span>交易时间:</span> </Col> <Col spa原创 2018-12-11 10:52:11 · 3759 阅读 · 0 评论 -
基于vue的移动端Icon图标拖拽(改变定位和使用transform)
功能介绍:1、icon拖拽位移 2、边界判断 (仅在可视区域滑动,防止Icon丢失)3、吸边处理(仅处理X轴方向)开发遇到的问题:1、ios 上拖拽时,body跟随滚动: 解决办法:在move的时候,阻止事件默认行为2、使用transform的时候,再次拖拽出现icon不跟随鼠标现象导致icon不可控 解决办法:transform的值基于DOM的起...原创 2018-12-11 11:23:29 · 6110 阅读 · 1 评论 -
移动端图片上传,只能选取相册,不能选取其他文件夹
1、按照MRD文档要求限制了图片上传的格式 <input type="file" accept="image/jpg,image/jpeg,image/png" id="upload" style="display:none"/>实际上线后,发现只能选取相册的照片,不能选取其他相册2、解决方案 <input type="file" accept原创 2019-03-18 16:51:56 · 7916 阅读 · 0 评论 -
微信内嵌H5 监听用户返回离开页面
使用场景:保存用户填写部分资料的时候,需要判断用户离开,提示是否保存操作 this.pushHistory(); window.addEventListener("popstate", function(e) { //do something console.log("我监听到页面离开了") },false);...原创 2019-04-03 15:09:55 · 5445 阅读 · 0 评论 -
解决键盘弹出后挡表单的问题和懒加载
window.addEventListener('resize', function () {if ( document.activeElement.tagName === 'INPUT' || document.activeElement.tagName === 'TEXTAREA' || document.activeElement.getAttribute('contente...转载 2019-07-29 15:37:17 · 250 阅读 · 0 评论 -
js Sleep函数 和 compression(请求压缩)
function sleep(interval) { return new Promise(resolve => { setTimeout(resolve, interval); })}async function test() { for (let index = 0; index < 10; index++) { console.log(index...原创 2019-07-29 15:53:28 · 468 阅读 · 0 评论 -
mint-ui 共用弹窗,内部滚动重置问题
问题描述: 在项目中,一个订单可能含有多个物流轨迹,查看包裹轨迹时,共用了popup组件,发现一个问题,弹窗内部滚动的位置无法重置,检查了css代码,没有什么特殊的,起初搞了一个临时方案,关闭的时候高度置为0,打开的时候重新赋值,总感觉不舒服。<mt-popup v-model="popupVisible" v-if="popupVisible" > ...原创 2018-09-28 10:18:34 · 1475 阅读 · 0 评论 -
基于vue的移动端图片上传
1、上传效果(含添加和删除设计图): 达到上传上限,隐藏上传图标,删除后,数量小于上限会自动显示。2、html代码//使用前,要在JS中先把组件引入并挂载import updatefile from "../common/uploadfile";components: { updatefile },//使用<updatefile :multiple...原创 2018-09-27 10:34:42 · 9681 阅读 · 18 评论 -
input常见输入限制及金额转货币
input常见输入限制//文本框只允许输入数字 <input type="text" onkeyup="value=value.replace(/[^\d]/g,'')" placeholder="只允许输入数字"/> //文本框只允许输入数字和小数点(正则) <input type="text" onkeyup="value=...原创 2018-05-08 15:22:49 · 5348 阅读 · 0 评论 -
rem适配
<!--REM适配--><meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" id="viewport" name="viewport"><script type="text/javascript">原创 2018-05-08 15:27:27 · 330 阅读 · 0 评论 -
px转rem
在进行旧的项目开发时,有时需要针对px单位转换为rem,现结合node,进行读文件,经过运算后更新单位为rem再重新写文件就很简单了。1、安装node,任意版本即可。2、新建rem.js,代码如下: 我们以读a.css为例,输出b.cssvar fs = require('fs');var css = fs.readFileSync(__dirname +'/a.css','utf8')...原创 2018-05-08 17:40:34 · 966 阅读 · 0 评论 -
JSONP前后端实现原理
前端: //动态创建script标签,并请求 function addScriptTag(src){ var script = document.createElement('script'); script.setAttribute('type', 'text/javascript'); script.src = src; ...转载 2018-06-01 14:12:01 · 1184 阅读 · 0 评论 -
一些常见JS面试题
1、监测数据类型 function isType(o) { return Object.prototype.toString.call(o).slice(8,-1); }2、实现函数bind 的方法Function.prototype.bind=Function.prototype.bind || function (context) { var self =...原创 2018-06-01 14:21:11 · 327 阅读 · 0 评论 -
常见css面试题
一、盒子居住 (1)(未知盒子宽高) transform居中,可以不知道宽高 .wrapper { padding: 20px; background: orange; color: #fff; position: absolute; top: 50%; left: 50%; ...原创 2018-06-01 14:34:33 · 227 阅读 · 0 评论 -
commonJS和AMD简单实现原理
a.js内容:module.exports= "笔记整理来自珠峰公开课";1、commonJS(1)用法 CommonJS定义的模块分为:{模块引用(require)} {模块定义(exports)} {模块标识(module)} require()用来引入外部模块;exports对象用于导出当前模块的方法或变量,唯一的导出口;module对象就代表模块本身。 虽说Node...原创 2018-06-01 14:51:31 · 1028 阅读 · 0 评论 -
获取设备类别及ip定位
<!DOCTYPE html><html><head> <meta charset="UTF-8" /> <title>Document</title> <script src="https://pv.sohu.com/cityjson?ie=utf-8"&am原创 2018-06-01 15:19:23 · 798 阅读 · 0 评论 -
vue(数据改变,DOM不渲染问题)
1、组件内部,属性值地址空间内引用地址改变,DOM不能渲染。 问题举例:this.items = [[],[],[],[]] 1、在items 中,修改任意一项数组中的值,DOM是不会更新的,2、解决方案: this.items = [...this.items]。通过解构赋值,重新给items赋值。2、组件之间传值,父组件传data改变,子组件未更新。...原创 2018-08-12 11:02:25 · 7937 阅读 · 1 评论 -
vue 移动端键盘搜索事件监听
1、首先注意,input的type="serch" <input @keypress="searchGoods" type="serch" placeholder="搜索商品">2、监听keypress事件(1)KeyDown、KeyUp 事件这些事件是当一个对象具有焦点时按下 ( KeyDown ) 或松开 ( KeyUp ) 一个键时发生的。(要解释 ANSI ...原创 2018-08-17 17:13:43 · 12385 阅读 · 0 评论 -
iview-admin axios配置及 webpack 代理
1、在main.js同级目录下 新建api.jsimport axios from 'axios';import qs from 'qs';//设置默认请求方式,指定Content-Typeaxios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';const instanc...原创 2018-08-20 17:52:13 · 4640 阅读 · 1 评论 -
微信内置开发 iOS修改键盘换行为搜索
在微信中搜索的时候, 我们通常使用keycode=13来判断客户是否点击了确定。在安卓上,唤醒搜索框为确认键没问题,而ios就不敢苟同了,ios显示为换行,对于客户使用体验非常不好。解决方案:html代码。 <form @submit.prevent action="#"> <input class="search_input" ref="...原创 2018-09-25 10:24:14 · 3532 阅读 · 0 评论 -
Vue利用keep-alive实现页面缓存
做列表缓存的时候,受益于@ vonvon_chris 这篇文章原文链接https://blog.csdn.net/akony/article/details/79203745实现了返回不刷新页面,当需要局部刷新的时候,使用activated的生命周期activated,deactivated这两个生命周期函数一定是要在使用了keep-alive组件后才会有的,否则则不存在 。 ...原创 2018-09-25 10:37:08 · 850 阅读 · 0 评论 -
vue根据路由设置页面是否需要登录判断
1、在main.js中初始化项目var Main = { init:function (){ this.initVue() this.initBeforeEach(); }, initSession :async function (){ let result = await Vue.prototype.$ajax.post('/getUserInfo'); if(!r...原创 2018-09-25 10:52:10 · 1279 阅读 · 0 评论 -
JS浮点数运算(j简单函数封装)和使用big.js
1、函数封装 // 浮点数加法运算 function floatAdd(arg1, arg2) { var r1, r2, m; try { r1 = arg1.toString().split(".")[1].length; } catch (e) { r1 = 0; }...原创 2018-05-08 15:07:34 · 1687 阅读 · 0 评论