js
文章平均质量分 52
混血哲谈
无论身在何处,勿忘佛子本分
展开
-
base64编码:js实现base64编码的3种方式,多场景下分析使用
推荐使用npm下载:npm install --save js-base64,下载后在node_modules文件夹下面就能找到需要的base64.js。js实现base64编码,前端一般应用场景在与后端接口参数中体现,后端可能需要某个字段是base64编码的字符,这时候就需要用前端的方法进行转换,再作为参数传递到服务端。在vue中使用,用npm下载之后,直接用require引入使用:const Base64 = require('js-base64').Base64。// 对base64转编码。原创 2023-06-09 17:06:14 · 11533 阅读 · 0 评论 -
JSON的一些问题
JSON.parse(“HELLO WORlD”)会报错,需要JSON.parse(’“HELLO WORlD”‘)才能解析。原创 2023-02-06 17:26:07 · 129 阅读 · 0 评论 -
NProgress的用法
4.这个呢,基本上会这几个api就足够了,我们用的最多的就是这几个,NProgress.start()开启进度条,NProgress.done()完成进度条,如果我们想改变进度条的颜色,可以进入App.vue里,在style中加上下面这样几行代码即可。今天,我就从简单点的模块说起吧。大家打开一个网页的时候,会看到一个进度条,然后加载完成后进度条就消失了。版权声明:本文为CSDN博主「程序猿小Lone」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。转载 2023-01-20 10:50:02 · 520 阅读 · 0 评论 -
元素滚动到可见区域
详解三种方式实现平滑滚动页面到顶部的功能。原创 2022-12-21 10:59:45 · 258 阅读 · 0 评论 -
localStorage、sessionStorage同一网站下共享问题
浏览器中打开A页面,再通过A页面打开新的标签页B页面,此时A、B两个页面的sessionStorage是“共享”的。这里的共享指的是B页面会把A页面的的 sessionStorage 拷贝一份,作为B页面 的初始缓存值,此时改变B页面的session,A页面并不受影响。即不同 Tab 之间,session读写操作独立,互不影响。浏览器中打开A页面,然后手动新开一个标签页,在新的标签页中打开B页面,此时A、B两个页面的sessionStorage是不“共享”,即B页面不会继承A页面session作为初始值。转载 2022-10-26 14:04:37 · 3087 阅读 · 0 评论 -
前端cookie设置httpOnly和secure拿不到,换成localstorage+加密方式
token用接口获取,然后设置在cookie中,以后每个接口调用都要获取这个cookie并且设置在接口的请求头部中,由于安全检查,要添加httpOnly,和secure,但导致js获取不到cookie,从而导致调用失败,所以必须换种方式换成其他方式,我换成的localstorage+加密的方式。httpOnly:防止xss攻击,js等非http,https协议方式拿不到cookie,secure:https中才能传输。原创 2022-10-14 11:54:13 · 3167 阅读 · 1 评论 -
使用window.location.href跳转页面不刷新的问题
此时有个需求就是你想从b页面跳转到a页面,你用了window.location.href,这个时候页面其实是不会被刷新的。解决方式:用完window.location.href 后再用window.location.reload()方法即可。’通常这样写都是可以跳转到目的url的,但是若当前的url和跳转的url是一个的话,页面可能就不会跳转,不会刷新。举个例子,a页面和b页面是通过动态组件展示的,那么a和b的链接其实对应的就是一个,比如都是。转载 2022-10-14 11:20:47 · 3094 阅读 · 1 评论 -
chrome插件开发
chrome 插件的控制能力除了支持传统的一切 web API、JavaScript API 以外,chrome插件额外支持以下API(chrome.xxx):浏览器窗口(chrome.window)tab标签(chrome.tabs)书签(chrome.bookmark)历史(chrome.history)下载(chrome.download)网络请求(chrome.webRequest)各类事件监听?自定义右键菜单(chrome.contextMenus)原创 2022-10-08 15:06:30 · 2596 阅读 · 0 评论 -
汇总遍历对象的六种方式及其区别
原文链接:https://blog.csdn.net/bigname22/article/details/109064660。本来计划写一篇关于深浅克隆的文章,奈何对各种遍历对象的方式搞得一头雾水,分不清各家的关系。// person增加属性:symbol height。// 方式五:Reflect.ownKeys。// 方式六:Object.entries。// human增加属性: symbol。// 方式三:Object.keys。原创 2022-09-28 18:13:59 · 548 阅读 · 1 评论 -
为什么Axios中获取不到Content-Type
需要对Content-type是application/json的内容进行加密,本来想通过config.headers['Content-Type']去获取默认的config的,但是始终获取不到,因为很多都是默认设置的,花了很长时间。后面通过其他方式去判断的。2. 可以通过判断config.data的数据类型来判断是不是application/json这种Content-Type。1. 可以通过在请求配置里面带一些标识,比如XXX。原创 2022-09-28 17:44:39 · 1427 阅读 · 1 评论 -
深入理解js对象中数据属性和访问器属性使用教程
创建对象的方式有两种:第一种,通过new操作符后面跟Object构造函数,第二种,对象字面量方式。如下var person = new Object();};var pers。转载 2022-09-28 16:54:33 · 344 阅读 · 0 评论 -
post 请求的 content-type
这种格式的特点就是,key/value 组成一组,每组之间用 & 联接,而 key 与 value 则是使用 = 连接。替换成空格 ,导致数据解析错误。请求则是使用请求体,参数不在。的形式,这里面有一个。原创 2022-09-27 10:35:59 · 1882 阅读 · 0 评论 -
记一次前后端加密
要求1、加密使用AES/ECB/PKCS5Padding算法,256位,密钥为XXXXX2、加密解密后使用Base64进行编解码。原创 2022-09-26 21:09:40 · 2205 阅读 · 0 评论 -
Javascript的~(波浪号)用法
原文链接:https://blog.csdn.net/Aaren_Jiang/article/details/107303023。版权声明:本文为CSDN博主「黑卡米」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。在函数前加上波浪号,其作用是把函数声明转换为表达式,就可以直接将下面的代码放入某个函数里运行。转载 2022-09-19 18:31:07 · 2983 阅读 · 0 评论 -
【无标题】js的进制转换
js的进制转换,分为2进制,8进制,10进制,16进制之间的相互转换,我们直接利用。转载 2022-07-16 17:42:11 · 321 阅读 · 0 评论 -
JSON.parse(JSON.stringify())在复制带有正则的数据时候会导致正则丢失
https://segmentfault.com/a/1190000020297508. JSON.parse(JSON.stringify())在复制上的一些问题原创 2021-04-27 21:52:39 · 493 阅读 · 0 评论 -
页面滚动到顶部的方法
前面用了一个方法来让页面滚动到顶部,window.scrollTo(),window.scrollTp({top:0})这个方法在Chrome高版本浏览器是没有问题的,但是对于低版本的浏览器来说是有问题的,低版本浏览器,比如说chrome49,用法就是:window.scrollTo(0,0)所以换成了其他方法:方法一document.body.scrollTop=document.documentElement.scrollTop=0方法二document.body.scrollIn原创 2020-12-10 11:32:40 · 2396 阅读 · 0 评论 -
npm如何不锁定包,可能会导致不同开发者同步代码后出现问题
拉取了其他同事的代码,然后重新install了之后发觉会报exports is not defined的错误,奇怪的是开发环境有问题,但是测试环境是没有问题的,后来一个同事提醒要锁版本,是啊,用npm不就是会有这个问题么?有时候包是有问题的,所以yarn才那么受欢迎啊,所以才有lock文件啊,下面介绍一下package.json,指定版本号也是一种锁版本的方式: "scripts": { "dev": "webpack-dev-server --inline --progress --confi原创 2020-07-14 11:11:04 · 586 阅读 · 0 评论 -
moment时间的当天时间改为00:00:00或者改为23:59:59
moment得到moment时间的当天时间改为00:00:00,可以用 moment(start).startOf('day').valueOf(); // ?.set({ hour: 0, minute: 0, second: 0, millisecond: 0 }) // ?.valueOf();当天时间改为23:59:59可以用 moment(end).endOf('day').valueOf(); // ?.set({ hour: 23, minute: 5...原创 2020-05-21 15:38:16 · 7883 阅读 · 0 评论 -
console.log或者alert中的信息是有错的,不会提示而是直接没动静
原创 2020-01-11 18:58:32 · 229 阅读 · 0 评论 -
使用 try catch 防止页面报错而卡死
try{//执行的代码,其中可能有异常。一旦发现异常,则立即跳到catch执行。否则不会执行catch里面的内容}catch{//除非try里面执行代码发生了异常,否则这里的代码不会执行}finally{//不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就一定会执行 finally...原创 2019-12-12 16:44:19 · 1267 阅读 · 0 评论 -
珠峰js公开课上的听到几道有意思的面试题
原创 2019-12-07 22:21:32 · 215 阅读 · 0 评论 -
Object.assign()
Object.assign()方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。但是是浅拷贝。复制一个对象const obj = { a: 1 };const copy = Object.assign({}, obj);console.log(copy); // { a: 1 }合并对象合并具有相同属性的对象深拷贝问题// Deep ...原创 2019-04-20 12:15:32 · 531 阅读 · 0 评论 -
js函数参数默认值设置
ES6中给出了函数的默认值设置,下面简单介绍几种设置默认参数的方法一.基本用法function first(x = 1, y = 2) { console.log("x:"+x ,"y:"+ y);}first();first(100);二.与解构赋值默认值结合function second({x, y = 2}) { console.log("x:"+x ,"...转载 2018-12-26 16:48:25 · 1073 阅读 · 0 评论 -
cookie的使用
整理于https://www.cnblogs.com/PopularProdigal/p/7495226.html1.设置cookie名值对,分号,值要escape()编码1.每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie: document.cookie="userId=828";2.如果要一次存储多个名/值对,可以使用分号加...转载 2018-07-18 23:50:51 · 345 阅读 · 0 评论 -
正确使用cookie中的domain
看规则,尝试使用规则,记录问题,多次使用使之熟练。今天发现vue中的this.$router.push()不熟悉了。做记录并不代表不会忘,只是为了能够理清逻辑,加深印象。本文内容有复制粘贴其他博主的内容,在此谢过了。问题:今天遇到一个不新但是不常用的技术:cookie。做统一登录平台,要求实现统一登录平台登录之后,其他平台都可以直接登录进入登录状态,不用再登录了。他们提的技术方案是用...原创 2018-07-18 23:06:09 · 35388 阅读 · 3 评论