js
文章平均质量分 58
sir.山
每天写一点
展开
-
ai回复功能请求开发
需求:实现一个类似于ai回复功能,一个字一个字往外蹦的效果实现方案:1.可以通过正常方式请求全部内容,通过js,定时器控制输出,速度,模拟ai回复效果2.通过eventSource请求,直接实现ai回复效果这里主要讲第二个方案。原创 2024-03-19 11:00:00 · 722 阅读 · 0 评论 -
服务端实时推送技术之SSE(Server-Send Events)
服务端推送,也称为消息推送或通知推送,是一种允许应用服务器主动将信息发送到客户端的能力,为客户端提供了实时的信息更新和通知,增强了用户体验。服务端推送的背景与需求主要基于以下几个诉求:实时通知:在很多情况下,用户期望实时接收到应用的通知,如新消息提醒、商品活动提醒等。节省资源:如果没有服务端推送,客户端需要通过轮询的方式来获取新信息,会造成客户端、服务端的资源损耗。通过服务端推送,客户端只需要在收到通知时做出响应,大大减少了资源的消耗。原创 2024-02-20 17:19:51 · 1852 阅读 · 1 评论 -
xcopy批处理
copy,xcopy批处理 帮我们复制文件原创 2022-08-29 09:51:54 · 1101 阅读 · 0 评论 -
海报,截图,保存图片功能一览
1.架构2.命令3.场景4.遇到的问题5.代码6.对应的解决方案原创 2022-07-13 08:00:00 · 301 阅读 · 0 评论 -
项目埋点统计
例如:统计界面离开,使用监听浏览器的 beforeunload 事件,发起请求统计,采用异步的话接口通常无法返回,在Network中会报错;同步请求导致界面需要等待接口返回后才能关闭浏览器; 基于这种情况浏览器提供了sendBeacon方法。了解sendBeacon// 1. DOMString类型,该请求会自动设置请求头的 Content-Type 为 text/plainconst reportData = (url, data) => { navigator.sendBeacon(ur原创 2022-04-02 16:13:18 · 604 阅读 · 0 评论 -
读取excel
读取Excel文件html:<input type="file" id="excel-file"> <script type="text/javascript" src="./jquery-3.5.1.min.js"></script><script type="text/javascript" src="./xlsx.core.min.js"></script>js:$('#excel-file').change(function(原创 2021-11-12 17:27:44 · 441 阅读 · 0 评论 -
js数组去重
1.双层循环,切割数组function unique(arr){ for(var i=0; i<arr.length; i++){ for(var j=i+1; j<arr.length; j++){ if(arr[i]==arr[j]){ //第一个等同于第二个,splice方法删除第二个 arr.splice(j,1); j--;原创 2021-07-15 14:30:20 · 107 阅读 · 0 评论 -
交换两个变量的值不使用第三方变量
一、引入通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换。代码如下:int a,b;a=10; b=15;int t;t=a; a=b; b=t;这种算法易于理解,特别适合帮助初学者了解计算机程序的特点,是赋值语句的经典应用。在实际软件开发当中,此算法简单明了,不会产生歧义,便于程序员之间的交流,一般情况下碰到交换变量值的问题,都应采用此算法(以下称为标准算法)。二、四种不借助第三变量的交换方法上面的算法最大的缺点就是需要借助一个临时变量。那么不借助临时变量可以实现交换原创 2021-03-23 00:50:59 · 628 阅读 · 0 评论 -
弧形背景和倒计时优化
弧形背景.pure_top { width: 100%; height: 100px; position: relative; z-index: 0; overflow: hidden;}.pure_top::after { content: ''; width: 120%; height: 100px; position: absolute; left: -10%; //椭圆左边隐藏10%,右边隐藏10% top: 0; border-radi原创 2020-10-21 00:10:02 · 183 阅读 · 0 评论 -
js优化写法,优雅代码
/ 传统函数定义// 箭头函数简化// 传统对象创建age: 30,// 对象字面量简化。原创 2020-08-24 17:33:20 · 229 阅读 · 0 评论 -
正则表达式预览
验证数字:^[0-9]*$验证n位的数字:^\d{n}$验证至少n位数字:^\d{n,}$验证m-n位的数字:^\d{m,n}$验证零和非零开头的数字:^(0|[1-9][0-9]*)$验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$验证非零的正整数:^\+?[1-9][0-9]*$验证非零的负整数:^\-[1-9][0-9]*$验证非负整数(正整数 + 0) ^\d+$验证非正整数(负整数 + 0)原创 2020-06-29 15:45:09 · 5437 阅读 · 0 评论 -
位运算符在JS中的妙用
1. 使用左移运算符 << 迅速得出2的次方2. 使用 ^ 切换变量 0 或 13. 使用 & 判断奇偶性4. 使用 !! 将数字转为布尔值5. 使用~、>>、<<、>>>、|来取整6. 使用^来完成值交换7. 使用^判断符号是否相同8. 使用^来检查数字是否不相等9. n & (n - 1),如果为 0,说明 n 是 2 的整数幂10. 使用 A + 0.5 | 0 来替代 Math.round()String1. 使用toString(16)取随机字符串2. 使用 split(0原创 2020-05-20 10:05:39 · 1089 阅读 · 0 评论 -
js判断页面是在pc端或移动端打开
1.问题出现的原因,pc端官网在移动端打开。一方面不兼容,另一方面不好看(看着怪怪的),所以想让pc端打开跳到专门的pc端网站上,移动端打开跳到专门的移动端网站,2.解决方案代码一: window.location.href = /Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent) ? “http...原创 2018-07-12 11:52:35 · 734 阅读 · 0 评论 -
javascript闭包理解
让你分分钟理解 JavaScript 闭包闭包,是 Javascript 比较重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是 ECMAScript 规范给的定义,如果没有实战经验,很难从定义去理解它。因此,本文不会对闭包的概念进行大篇幅描述,直接上干货,让你分分钟理解闭包!闭包,一睹为快在接触一个新技术的时候,我首先会做的一件事就是找它的 demo。对于我们来说,看代码比自...转载 2019-06-14 16:33:39 · 153 阅读 · 0 评论 -
H5视频处理
1.常用视频格式mp4,ogg,flv,swf,u3m82.H5 video标签能直接运行mp4,ogg格式。3.u3m8格式视频因为是流加载,需要通过服务器请求才可以访问。下面是通过切片处理后的u3m8格式的视频,视频大小也有缩小。4.hls.js加载u3m8格式视频hls.js gethub原始项目简单h5使用方法<body> <video id=...原创 2019-07-22 19:24:53 · 613 阅读 · 0 评论 -
百度地图与腾讯地图经纬度互转
/**百度地图---->腾讯地图@param double $lat 纬度@param double $lng 经度@return array();*/function bdMap_to_txMap(lat,lng){ pi = 3.14159265358979324 * 3000.0 / 180.0; x = lng - 0.0065; y = l...原创 2019-08-01 17:15:49 · 3587 阅读 · 0 评论 -
百度地图:逆地理编码
百度地图开放平台逆地理编码:经纬度,转省市区,城市行政区域代码http://api.map.baidu.com/reverse_geocoding/v3/?ak=自己百度地图的ak&output=json&coordtype=wgs84ll&location=维度,经度GET请求方式 注意经纬度要是百度自己的经纬度,其他地方拿到的经纬度如:腾讯,高德经纬度,需...原创 2019-08-01 17:45:01 · 3656 阅读 · 0 评论 -
js函数理解
function(){}、var fun=function(){}和function fun(){}的区别一、基本定义1.函数声明:使用function声明函数,并指定函数名。function fun() { // ...... }2.函数表达式:使用function声明函数,但未指定函数名,将匿名函数赋予一个变量。var fun = function() { /...原创 2019-06-14 15:53:21 · 320 阅读 · 0 评论 -
h5 下拉分页
//下拉分页代码解析思路:h5 下拉刷新//页面结构<div class="content pull-to-refresh-content infinite-scroll infinite-scroll-bottom"> <!-- 默认的下拉刷新层 --> <div class="pull-to-refresh-...原创 2019-05-15 15:32:15 · 1616 阅读 · 0 评论 -
table一列固定
例图暂无例图,图插不上<!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <meta charset="utf-8...原创 2019-05-14 17:44:16 · 5352 阅读 · 0 评论 -
不引人注目的JavaScript:自动清除和恢复焦点上的多个表单输入
第1步:准备表格首先准备您的表单,因为您希望它在没有JavaScript的情况下运行。例如,您可能有一个看起来像这样的评论表:<form> <fieldset> <label for="author">Name</label> <input type="text" name="aut原创 2018-08-29 14:41:15 · 163 阅读 · 0 评论 -
使用CSS,JavaScript或Ajax预加载图像的方法
预加载图片是提高用户体验的一个很好方法。图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度。这对图片画廊及图片占据很大比例的网站来说十分有利,它保证了图片快速、无缝地发布,也可帮助用户在浏览你网站内容时获得更好的用户体验。本文将分享三个不同的预加载技术,来增强网站的性能与可用性。方法一:用CSS和JavaScript实现预加载实现预加载图片有很多方法,包括...翻译 2018-08-29 10:58:27 · 421 阅读 · 0 评论 -
js数据类型int和string转化
var str=’1250’ ; alert( Number(str) ); //得到1250 alert(parseInt(str)); //得到1250 var str1=’00100’; alert( Number(str1) ); //得到100 alert(parseInt(str1)); //得到100var str2 = “0.01” alert( Num...原创 2018-07-27 15:54:10 · 15727 阅读 · 0 评论 -
meta http-equiv="refresh" 和13种跳转页面方法的故事
我们来说说13种页面跳转方法先来介绍一下在服务端JSP脚本中跳转页面的4种方法: response.sendRedirct(“跳转到页面”); 该方法通过修改HTTP协议的HEADER部分,对浏览器下达重定向指令的,使浏览器显示重定向网页的内容. request无法传值过去.执行完该页所有代码,然后再跳转到页面. 跳转地址栏改变. 可以跳转到其他服务器上的...转载 2018-07-13 11:23:04 · 11800 阅读 · 0 评论 -
js下载文件
移动端 js 下载文件直接 window.location.href = 路径可以触发下载但是存在安卓原生或其他设备自带浏览器不会 触发下载所以采用下面的代码处理方式var myFrame= document.createElement('iframe'); myFrame.src = 'url'; myFrame.style.display = 'none'; d...原创 2018-06-30 16:52:20 · 1612 阅读 · 0 评论 -
input,textarea限制字数,实时绑定
目前常用二种方法1.在input 或 textarea中加属性maxlength="10"2.js判断function limitImport(str,num){ $(document).on('input propertychange',str,function(){ var self = $(this); var content = s...原创 2018-06-08 11:56:08 · 2006 阅读 · 0 评论 -
js判断设备是pc端还是移动端
我用来判断pc端打开移动端页面,跳转到官网效果function browserRedirect() { var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; var bIsIphoneOs = s...原创 2018-06-05 14:02:39 · 716 阅读 · 0 评论 -
获取js报错信息
传统js报错捕获try{}catch(){}finally{}直接套js似乎 类似余 判断 运行代码:window.onerror = function(errorMessage, scriptURI, lineNumber,columnNumber,errorObj) { console.log("错误信息:" , errorMessage); con...原创 2018-06-05 16:43:08 · 5529 阅读 · 2 评论 -
图片路径不存在,替换问题图片
图片经常又后台加载过来,或其他地方,但我们不能保证它是否存在,成功加载处理啊,所以在可能会出现该问题的地方在错误的判断(技术的存在不就是不短的写code的吗)1.小程序图片加载不来,报错处理,替换图片小程序文档对image 表签的介绍方法一:中间 mode 、lazy-load 都是在常用不过的属性,今天提到的是binderror //图片加载问题-替换 imageerror: fu...原创 2018-12-26 14:17:01 · 1285 阅读 · 0 评论 -
js常用工具方法
1.字符串截取slice()、substring()、substr()都有截取字符串的作用1.substring()substring()方法返回一个索引和另一个索引之间的字符串注意: 方法返回一个索引和另一个索引之间的字符串,语法如下:str.substring(indexStart, [indexEnd])下面有六点需要注意:substring()从提取的字符indexSta...原创 2018-12-25 19:27:57 · 458 阅读 · 0 评论 -
iframe的各种用法
1.获取iframe常用获取元素的方法,dom ,jQ等;var ifr = document.getElementById(‘mainIframe0’)2.获取iframe 元素值ifr.contentWindow拿到的是window 对象Window {postMessage: ƒ, blur: ƒ, focus: ƒ, close: ƒ, parent: Window,…}...原创 2019-05-14 17:30:56 · 2436 阅读 · 0 评论 -
JavaScript 中的一些小技巧
&& 和 || 的妙用我们需要在某个函数或变量为 true 时执行另外一个函数const task1 = () => { return Math.random() >= 0.5;}const task2 = () => console.log('-----task1 执行成功后执行 task2');const task3 = () => ...原创 2019-04-04 18:02:45 · 171 阅读 · 0 评论 -
理解js-1
写一些自己遇见的js特点,申明一个对象var obj = { '2': 3, '3': 4, 'length': 2, 'splice': Array.prototype.splice, 'push': Array.prototype.push}console.log(obj); //打印原对象执行obj.push(5);obj.p...原创 2019-04-04 15:33:45 · 131 阅读 · 0 评论 -
cookie读取,存储,删除
JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的。而cookie是运行在客户端的,所以可以用JS来设置cookie.假设有这样一种情况,在某个用例流程中,由A页面跳至B页面,若在A页面中采用JS用变量temp保存了某一变量的值,在B页面的时候,同样需要使用JS来引用temp的变量值,对于JS中的全局变量或者静态变量的生命周...原创 2019-03-21 19:29:32 · 685 阅读 · 0 评论 -
jquery滚动到指定元素
$(document).ready(function () { $("html,body").animate({ scrollTop: $(".diabetes_title").eq(i).offset().top }, 500 /*scroll实现定位滚动*/ ); /*让整个页面可以滚动*/ });就一段代码具体根据业务开发,来设计!...原创 2019-01-22 11:57:21 · 7412 阅读 · 2 评论 -
移动端h5单击体验优化
//先定义一个新事件名称,如tapvar tap = new Event("tap", { bubbles: true});//获取手指按下时的坐标document.startPoint = {};document.addEventListener("touchstart", function (e) { document.startPoint = { x: e.changedT...翻译 2019-01-25 14:24:07 · 397 阅读 · 0 评论 -
字符串转数组,字符串转json,
1.字符串转数组(互转).join() 将数组中所有元素放到一个字符串中,并用指定的分隔符进行分割var a = [1, 2, 3]a.join(',') // "1,2,3"a.join('_') // "1_2_3".split() 将字符串以指定的分隔符分割成数组const a = '720_1_6'a.split('_') // [720, 1, 6] 2.字...原创 2018-12-25 19:50:49 · 2616 阅读 · 0 评论 -
js截取中英文字符串
原因: 常常在项目中遇到特殊的需求 在固定width的容器中,要去显示固定长度的文字,但有些名称过长或是中英文, 判断代码 (截取需要的长度,过长加省略号)function stringSp(str, len) { var newLength = 0; var newStr = ""; var chineseRegex = /[^\x00-...原创 2018-06-05 10:48:53 · 1910 阅读 · 0 评论