javascript)
waillyer
码云地址:https://gitee.com/waillyer
展开
-
新开窗口跨域问题
一、使用a标签 <a href={urlData} target="_blank" rel="noopener noreferrer"> anoopener </a>超链接 target="_blank" 要增加 rel=“nofollow noopener noreferrer” 来堵住钓鱼安全漏洞。如果你在链接上使用 target="_blank"属性,并且不加上rel="noopener"属性,那么你就让用户暴露在一原创 2022-03-27 21:16:16 · 3288 阅读 · 0 评论 -
npm库发布
npm config set registry https://registry.npmjs.org创建项目修改打包配置tsconfig.build.json{ "compilerOptions": { "outDir": "dist", // 生成目录 "module": "esnext", // 格式 "target": "es5", // 版本 "declaration": true, // 为每一个 ts 文件生成 .d原创 2022-03-23 00:15:04 · 1515 阅读 · 0 评论 -
git工作流
git init //初始化一个git的本地仓库git add README.md //将我的文件装上武器,准备发射git commit -m “first commit” //第一次发射,我的README.md 宝贝已经成功进入到本地仓库git remote add Ceres your_first_git_address //将第一个git address命名为Ceresgit push -u Ceres master //注意咯,我要向远端木星发射了,太远了,一定要用push,很费劲的赶脚/原创 2022-03-18 14:01:31 · 88 阅读 · 0 评论 -
对按钮进行防抖处理
import { debounce } from '@/utils/utils'; <Button style={{ marginLeft: 10 }} onClick={debounce(() => { const url = DownloadTasks?.DOWNLOADTASKS?.clientexp原创 2021-08-14 15:58:20 · 3745 阅读 · 0 评论 -
获取一段时间
// 根据type获取一段时间export function getDateTitle(start_date, end_date, type) { const title = []; start_date = start_date.format('YYYY-MM-DD'); end_date = end_date.format('YYYY-MM-DD'); const interval = moment(end_date).diff(start_date, 'days');原创 2021-07-28 10:43:18 · 76 阅读 · 0 评论 -
时间格式问题
moment.js的使用方法和日期格式化介绍import moment from 'moment'; start_date: moment().date(1), end_date: moment(), // subtract() 时间减 // start_dt_week: moment().subtract(4, 'weeks'),//当前时间的前4个星期时间 start_dt_week: moment().startOf('month'),//当前月份开始第一天原创 2021-07-27 16:54:53 · 105 阅读 · 0 评论 -
2021-07-26js计算数组中某个元素重复出现的个数
const list = [ { creator_id: '156', operation_group: '经营一组', work_logs: [ { time: '2021-07-01', num.原创 2021-07-26 12:37:09 · 195 阅读 · 0 评论 -
json去重
/** * json去重 * @param {*} arr 是要进行去重的json串 * @param {*} attribute 是针对json串中哪个属性进行去重 * @returns */ function unique(arr, attribute) { var new_arr = []; var json_arr = []; ...原创 2021-07-11 21:15:03 · 278 阅读 · 0 评论 -
联系人电话校验
const actualPhones = contactAdd?.contact_phone?.filter(item => !!item); const uniquePhones = Array.from(new Set(actualPhones)); if (actualPhones?.length !== uniquePhones?.length) { message.error('您填写了重复的联系电话');..原创 2021-07-05 09:53:56 · 271 阅读 · 0 评论 -
GET和POST两种基本请求方法的区别
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么。当你在面试中被问到这个问题,你的内心充满了自信和喜悦。你轻轻松松的给出了一个“标准答案”:GET在浏览器回退时是无害的,而POST会再次提交请求。GET产生的URL地址可以被Bookmark,而转载 2020-12-02 14:39:33 · 221 阅读 · 0 评论 -
es6常用特性
const 与 let 变量JavaScript ES6中引入了另外两个声明变量的关键字:const和let。在ES6中,我们将很少能看到var了使用let声明的变量可以重新赋值,但是不能在同一作用域内重新声明使用const声明的变量必须赋值初始化,但是不能在同一作用域类重新声明也无法重新赋值.1、const关键字const声明一个只读的常量。一旦声明,常量的值不能被改变。const声明一个变量,就必须立即初始化,不能留到以后再赋值。需注意:若这个变量是数组或者对象的话,它里面持有的内容是原创 2020-12-02 11:10:36 · 334 阅读 · 0 评论 -
JS实现十进制与二进制的互相转换
十进制转换为二进制const decimalNum = 123 console.log(decimalNum.toString(2)) // "1111011"const decimalFloatNumber = 123.125console.log(decimalFloatNumber.toString(2)) // "1111011.001"二进制转换为十进制直接用 parseInt(string, radix) radix:该值介于 2 ~ 36 之间。如果省略该参数或其值为 0原创 2020-10-27 11:47:49 · 1152 阅读 · 0 评论 -
js文件下载替换文件名,vue下载文件替换文件名
下载文件方法1、window.open和window.location.hrefa,window.open()在下载文件的时候会打开一个新的页面,同时会暴露链接地址, 而且会在下载文件的过程中,访问链接2次,虽然前端只下载了一次文件,但是服务端会生成2次文件。b,对于rar.doc.等浏览器不能打开的文件,使用window.location.href是完全可以实现下载的。 示例: window.location.href="http://下载.rar" ,等同于<a href="http:/原创 2020-10-24 14:26:58 · 4184 阅读 · 0 评论 -
JS之给元素添加类的方法
原生js中添加类的方法//1.为 <div> 元素添加一个类:document.getElementById("div").classList.add("类名");//2.为 <div> 元素添加多个类:document.getElementById("div").classList.add("类名1","类名2","类名3",...);//3.为 <div> 元素移除一个类:document.getElementById("div").classList原创 2020-10-14 16:45:15 · 1327 阅读 · 0 评论 -
vue组件和js实现鼠标悬停显示title效果
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>JS控制TITLE悬停效果</title><sc原创 2020-10-13 14:39:09 · 4933 阅读 · 1 评论 -
js 数组插入删除
常用的方法是遍历数组,然后使用splice()删除这里我们使用es6 中findIndex()查找,然后删除function deleteFromArray(arr, compare) { const index = arr.findIndex(compare) if (index > -1) { arr.splice(index, 1) }}插入数据function insertArray(arr, val, compare, maxLen) { //返回位置 const i原创 2020-09-29 11:27:16 · 238 阅读 · 0 评论 -
vue权限配置
对权限进行分组配置后端会返回数组项,通过id可获取用户拥有权限string.indexOf(searchvalue,start)Number 查找指定字符串第一次出现的位置,如果没找到匹配的字符串则返回 -1。获取数据,对多选框分组<el-checkbox-group v-model="checkedMenuOptions" @change="handleCheckedChange"> <el-checkbox v-for="item in menuOptions"原创 2020-09-18 09:40:58 · 771 阅读 · 0 评论 -
vue聊天功能模块(七)js文件名过长部分显示
需求:消息文件名过长,显示部分写一个函数,获取字符串长度,截取部分function getFileName(fileName){ var showFileName =''; var disLength = fileName.length; var substringC = 6; var nameLength = 0; var cutIndex = 0; for(var i=0; i<disLength; i++) { if(escap原创 2020-09-04 16:44:29 · 591 阅读 · 0 评论 -
JavaScript获取完整当前域名
window.location.protocol+"//"+window.location.host; // 返回https://mp.csdn.net window.location.host; //返回url 的主机部分,例如:mp.csdn.net window.location.hostname; //返回mp.csdn.net window.location.href; //返回整个url字符串(在浏览器中就是完整的地址栏) window.locatio..原创 2020-08-20 16:01:26 · 1314 阅读 · 0 评论 -
vue 监听键盘回车事件
方法一:keyup.enter使用:vue文档提供了一种按键修饰符的方法: 方法二:document.onkeydown事件获取点击事件,判断一下即可 document.onkeydown = (e)=> { //按下回车提交 let key = window.event.keyCode; //事件中keycode=13为回车事件 if (key == 13) { this.Initialize(); }原创 2020-08-05 09:51:35 · 3164 阅读 · 0 评论 -
vue注册局部组件拖拽指令
一、使用注册指令然后可以直接使用v-drag实现拖拽效果 directives: { drag (el) { let oDiv = el //当前元素 oDiv.onmousedown = function (e) { //鼠标按下,计算当前元素距离可视区的距离 let disX = e.clientX - oDiv.offsetLeft let disY = e.clientY - oDiv.o原创 2020-07-02 14:20:44 · 609 阅读 · 0 评论 -
数组对象的遍历
遍历数组方法定义遍历数组方法 function forArray(array){ var len = array.length; for (var i = 0; i <=len ; i++) { return array[(len-1)]; } }定义遍历对象方法,判断对象中所有值是否有一项为空function objectKeyIsEmpty(obj) { let empty = null; for (const key in obj)原创 2020-06-17 10:32:47 · 3818 阅读 · 0 评论 -
html中引入公共的html页面几种方法
一、使用jQuery的load函数<body> <div id="header1"></div> <script> $("#header1").load("page/header1.html"); </script></body>注意:header1中不需要把整个代码写全,以为一个html中只能存在一个body标签,去掉所有的标签二、include标签`{include原创 2020-06-06 14:29:14 · 5872 阅读 · 1 评论