js
ZHWenDong
这个作者很懒,什么都没留下…
展开
-
Intersection Observer API 图片懒加载、无限滚动、视口交叉
【代码】Intersection Observer API 图片懒加载、无限滚动、视口交叉。原创 2023-11-01 09:46:43 · 124 阅读 · 0 评论 -
一个字符可能由多个码元组成,js 真实的字符=计算长度、获取第几个字符、截取字符
【代码】一个字符可能由多个码元组成,js 真实的字符=计算长度、获取第几个字符、截取字符。原创 2023-10-28 17:50:21 · 56 阅读 · 0 评论 -
前端3D规划
相比之下,Three.js是一个更高级的3D图形库,它基于WebGL,但是提供了更简单、更直观的API。Three.js抽象了很多底层的细节,让你可以更专注于3D内容的创建。因此,如果你是一个前端开发者,没有太多的3D图形学经验,那么我建议你先学习Three.js。当你对3D图形有了一定的理解后,如果你对底层的实现感兴趣,那么你可以再去学习WebGL。在学习过程中,你可以通过创建一些小项目来实践你的技能,例如一个简单的3D游戏、一个3D数据可视化工具等。原创 2023-10-25 11:29:27 · 676 阅读 · 0 评论 -
前端使用webkit和app交互
前端调用app的方法,假设方法名:toCustomServiceimport { isIOS } from "@/util/common"if(isIOS()) { window.webkit.messageHandlers.toCustomService.postMessage({});}else{ //abcd为安卓定义 window.abcd.toCustomService();}app调用前端的方法,前端需提前定义好mounted() { window.onlo原创 2020-12-19 11:22:20 · 795 阅读 · 1 评论 -
js复制
废话少说,直接上代码function copy (id, attr) { let target = null; if (attr) { target = document.createElement('div'); target.id = 'tempTarget'; target.style.opacity = '0'; if (id) { let curNode = document.queryS.原创 2020-12-17 14:43:26 · 93 阅读 · 0 评论 -
iosH5音视频无法自动播放问题
原因:ios需要操作界面后才能播放音视频解决办法:touchstart或click事件后执行播放function playMedia() { let audio = document.querySelector('#audio'); try { if (audio.paused) { audio.play(); } } catch (ex) { } document.removeEventListener(原创 2020-12-08 14:44:32 · 1207 阅读 · 0 评论 -
移动端页面滑动会触发点击事件问题
在移动端时用了点击事件,但是在滑动页面时,总是会被触发。解决方案是:把click事件换成touchend事件$("body").on("touchend",".todetail",function(){});然后引入并调用以下函数function stopTouchendPropagationAfterScroll(){ var locked = false; window.addEventListener('touchmove', function(ev){原创 2020-11-20 17:35:59 · 2524 阅读 · 0 评论 -
TcPlayer在微信内自动播放video
微信ios自动播放let _this = this;this.$nextTick(function () { let videoDom = document.querySelector("video") let video= _this.$refs.videoPlayer; if(typeof WeixinJSBridge == "object" && typeof WeixinJSBridge.invoke == "function"){ We原创 2020-10-24 13:49:30 · 1685 阅读 · 0 评论 -
微信内置浏览器WeixinJSBridge的使用
微信浏览器私有接口WeiXinJsBridge,大致有以下几个有用的知识点:分享给好友分享到朋友圈分享到微博隐藏下方工具栏隐藏微信右上角分享按钮(三个小圆点)关闭浏览器回到公众号对话窗口WeiXinJsBridge的分享函数WeiXinJsBridge的分享函数分为分享给好友,分享到朋友圈,分享到微博,但是这三种分享都是在下面在个函数内部实现的。function sendMessage(){ WeixinJSBridge.on('menu:share:appmessage',原创 2020-05-13 14:05:40 · 19930 阅读 · 2 评论 -
js唤起app页面
if (browser()) { console.log('安卓') window.location.href = 'androidctmm://com.ctzn.ctmm/open?type=1' + '&productType=' + this.$route.query.productType + '&productCode=' + ...原创 2020-03-16 19:45:43 · 349 阅读 · 0 评论 -
js获取数组中的最大值 最小值
获取数组中的最大值es6拓展运算符…Math.max(...arr)es5 apply(与方法1原理相同)Math.max.apply(null,arr)for循环let max = arr[0];for (let i = 0; i < arr.length - 1; i++) { max = max < arr[i+1] ? arr[i+1] :...原创 2019-09-26 11:43:13 · 185 阅读 · 0 评论 -
浏览器跳转安卓app
采用设置一个延迟定时器 setTimeout 的方式,第一时间尝试唤起 app,如果 200ms 没有唤起成功,则默认本地没有安装 app,200ms 以后,将会触发下载行为。var timer = null;var ifr = document.createElement('iframe');ifr.src = 'miweng://xcxwap.com/MiDai';ifr.style....原创 2019-09-21 15:09:59 · 1293 阅读 · 0 评论 -
页面url路径传中文乱码解决方法
当前页面encodeURI(encodeURI(中文参数))跳转页面decodeURI(中文参数)原创 2019-09-20 11:21:00 · 596 阅读 · 0 评论 -
前端常用的线上js文件
前端常用的线上js文件jquery的js文件<script type="text/javascript" src="https://cdn.staticfile.org/jquery/3.4.1/jquery.min.js"></script>vconsole的js文件<script type="text/javascript" src="https...原创 2019-07-22 15:35:33 · 1102 阅读 · 0 评论 -
js判断手机打开还是电脑打开
js判断手机打开还是电脑打开function getClientInfo(){ var userAgentInfo = navigator.userAgent; var Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"); var agentinfo =...原创 2019-07-22 15:53:34 · 404 阅读 · 0 评论 -
js辨别是哪个浏览器打开
js辨别是哪个浏览器打开var browser = { versions: function () { var u = navigator.userAgent, app = navigator.appVersion; return { //移动终端浏览器版本信息 trident: u.indexOf('Trident...原创 2019-07-22 15:55:29 · 160 阅读 · 0 评论 -
微信网页授权
微信网页实现授权微信网页实现用户授权,可查看官方文档。微信网页授权就是跳转一个合成的微信链接,既然是跳转前后端人员都可以做的,不过建议还是给后端人员做,接下来讲一下前端人员的做法。...原创 2019-07-22 18:10:26 · 340 阅读 · 0 评论 -
Promise封装原生ajax
Promise封装原生ajaxfunction ajax(method, url, data) { /*兼容IE*/ var request; if (window.XMLHttpRequest) { request = new XMLHttpRequest(); } else { request = new ActiveXObje...原创 2019-07-22 16:55:41 · 160 阅读 · 0 评论 -
js获取url上的参数
js获取链接上的参数function getUrlParam(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象 var r = window.location.search.substr(1).match(reg); //匹配目标参数...原创 2019-07-22 18:13:16 · 126 阅读 · 0 评论 -
js生成图片并保存本地
$("#canvas canvas").prop('id',"canvas2"); var type = 'png'; var c = document.getElementById('canvas2'); var imgData = c.toDataURL(type); var _fixType = function(type) { type =...原创 2019-07-31 15:51:37 · 2036 阅读 · 0 评论 -
js批量下载图片
<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> <style> img{ width: 200px; height: 150px; } </style> <...原创 2019-07-31 15:52:58 · 934 阅读 · 0 评论 -
js数组常用方法
Array.map()此方法是将数组中的每个元素调用一个提供的函数,结果作为一个新的数组返回,并没有改变原来的数组let arr = [1, 2, 3, 4, 5]let newArr = arr.map(x => x*2)//arr= [1, 2, 3, 4, 5] 原数组保持不变//newArr = [2, 4, 6, 8, 10] 返回新数组Array.forE...转载 2019-07-23 11:01:23 · 126 阅读 · 0 评论 -
js根据数组的数据和长度 几几组合 而且不能重复
let arr = [["1","2"],["3","4"],["5","6","7"]];let arr2 = [];function all_arrs(arr,level,former){ if(arr.length == level +1){ for(let i = 0;i < arr[level].length;i++){ temp...原创 2019-09-07 10:22:53 · 392 阅读 · 0 评论