js
95加满~
慵懒闲散的前端开发者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
基于 Three.js 的 3D 模型快照生成方案
本文提出了一种基于Three.js的3D模型快照生成方案。针对html2canvas无法捕获WebGL内容的问题,方案采用Three.js自身渲染器导出图像。实现步骤包括:渲染场景并获取尺寸、创建缩放临时画布、将WebGL内容绘制到2D画布、异步导出Blob数据。该方法支持分辨率调节和多种图片格式输出,适用于模型预览和截图保存等场景。代码示例展示了完整的实现过程,通过Promise机制处理异步操作,确保可靠获取3D模型的渲染结果并转换为Blob对象进行后续处理。原创 2025-06-09 15:13:22 · 759 阅读 · 0 评论 -
使用 new EventSource 实现前端实时通信
EventSource 是浏览器提供的一种实现服务器推送(Server-Sent Events,简称 SSE)功能的 API。它是基于 HTTP 协议的单向通信机制,可以通过服务器将实时数据推送到客户端,而不需要客户端不断发起请求。EventSource 是通过 new EventSource(url) 创建的,参数 url 是服务器端提供的推送数据的接口。在服务器端,我们需要将数据按 text/event-stream 的格式发送给客户端,通常使用一种流式的方式将数据传输给浏览器。原创 2025-04-08 15:18:09 · 2568 阅读 · 0 评论 -
前端JS实现启动本地.exe客户端程序
先要写入注册表,先注册URL PROTOCOL, 在windows 下就是注册表,保存内容为 reg文件(myprotocol.reg),然后执行,就加入注册表,注册了这个名字为myprotocol 的协议.使用文本新建.txt 写入以下内容,然后修改后缀名为.reg ,双击执行。使用url protocol 的方式来实现,亲测可行。原创 2023-01-18 09:16:30 · 3035 阅读 · 0 评论 -
图片img或者含有img元素拖拽时,或者scale缩放时产品的阴影效应问题
html中有图片img或者含有img元素拖拽时,或者scale缩放时产品的阴影效应问题,也就是图片重影, 另外使用scale缩放图片时可能产生放大后图片模糊情况,文章也给出了解决方案原创 2022-08-22 09:55:32 · 1292 阅读 · 0 评论 -
js获取图片原始比例并根据容器大小,图片比例缩放图片的宽高值
js获取图片原始比例并根据容器大小,图片比例缩放图片的宽高值原创 2022-07-12 16:13:56 · 1737 阅读 · 0 评论 -
js将具有关系型的数组转成树形结构
以下的例子的利用from和to形成父子关系,当然也可以利用parentId等其他的父子关系,将将具有关系型的数组转成树形结构。reduce函数: 接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。concat函数:用于合并两个或多个数组。原创 2022-04-29 16:27:49 · 665 阅读 · 0 评论 -
安装typescript报错
全局安装typescript报错npm install -g typescript报错信息: operation not permitted, mkdir ‘C:\Program Files\nodejs\node_modules_typescript@4.3.4@typescript’或者如图所示原因是因为在安装软件的时候部分文件应该需要管理员权限才可以解决方案:终端打开命令行工具 右键 开启管理员模式 之后再输入再执行npm install -g typescript...原创 2021-06-25 10:17:12 · 765 阅读 · 0 评论 -
在调用clearInterval()之后,setInterval()循环仍在运行
每次在执行setIntertval之前先clearInterval,否侧会出现clearInterval失效,可以查看一下setInterval返回值,每次都不一样let timer = null;clearInterval(timer);timer = setInterval(() => {//todo})原创 2021-06-24 15:29:47 · 1725 阅读 · 0 评论 -
canvas在刻度直尺上实现可拖动的时间指针效果
效果图:html代码: <style> .line-wrapper { width: 700px; position: relative; margin: 10px 0; } .line { position: absolute; padding-left: 5px; height: 120px; top: 0; cursor: ew-res原创 2021-04-20 14:11:41 · 1030 阅读 · 0 评论 -
three.js 模型实现动态切换纹理贴图
three.js 模型实现动态切换纹理贴图如果按照下图官网这种写法,会报错“Texture marked for update but image is undefined”,const texture = new THREE.TextureLoader().load( "textures/water.jpg" );原因是:纹理加载是异步的。需要将大部分代码放入加载器回调函数中,所以采取下面这种写法把改变纹理的代码放在回调函数中/**obj: 代表3d模型**//**map: 代表图片地址**原创 2021-03-29 17:09:48 · 6748 阅读 · 2 评论 -
gojs使用网络地址的图标或者是上传到服务器的图标,导出生成图片时,图标消失
gojs 使用网络地址的图标或者是上传到服务器的图标,导出生成图片时,图标消失的情况,如果您使用的是Diagram.makeImage,Diagram.makeImageData或Diagram.makeSvg,并且看到空白或丢失的图像,则与CORS相关的问题是首先要调查的问题 。类似于定义图片的代码是这样的$(go.Picture, { source: "https://upload.wikimedia.org/wikipedia/commons/thumb/d/d8/NASA_Mars_Rover.原创 2021-03-23 15:05:04 · 448 阅读 · 4 评论 -
获取浏览器类型
使用方法var type = getBrowser().indexOf('IE') != -1;console.log("是不是IE浏览器",type) //true,false // 获取浏览器类型function getBrowser() { var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏原创 2021-03-04 16:14:06 · 329 阅读 · 1 评论 -
vlc连接视频(摄像头)常用方法(二)
接着我的上一篇文章vlc连接方法,继续讨论一些除了连接工作以外其他方法判断是否安装了vlc插件方法 //适用于IE6/7/8/9/10/11浏览器,并且安装有vlc插件,则返回true; function isInsalledIEVLC() { var vlcObj = null; var vlcInstalled = false; try { vlcObj = new ActiveXObject("VideoLAN.Vlcplugin.2");原创 2021-03-04 16:06:46 · 1544 阅读 · 2 评论 -
vlc连接视频(摄像头)方法步骤(一)
vlc介绍VLC 是一款自由、开源的跨平台多媒体播放器及框架,可播放大多数多媒体文件,以及 DVD、音频 CD、VCD 及各类流媒体协议。点击官网查看更为详细介绍1.安装vlc根据自己电脑系统类型安装win64 或者 win32 位的vlc版本可以官网下载,或者可直接获取 win32位链接:https://pan.baidu.com/s/1ZgpTQTxqdfgvl2IV3R7XNw提取码:bods一些报错,比如:vlc.playlist.items.clear(); 报items错,或者v原创 2021-03-04 15:51:56 · 4038 阅读 · 2 评论 -
EasyUI Ribbon
easyui,如需创建 Ribbon 组件,则要包含 ‘ribbon.css’、‘ribbon-icon.css’ 和 ‘jquery.ribbon.js’ 文件。原创 2020-12-30 10:54:19 · 291 阅读 · 0 评论 -
当页面加载速度慢时,遮罩层提示页面正在加载中
当页面加载速度慢时,可以弹框提示“页面正在加载中...”,这样就防止了一些css样式未加载完成导致的样式错乱问题,只需要在html页面内引入base-loading.js 就可以解决原创 2020-12-23 16:30:16 · 890 阅读 · 1 评论 -
vue中使用three.js加载3d模型,绑定 mouseup 和 mousedown 事件不起作用
vue中使用three.js加载3d模型,绑定 mouseup 和 mousedown 事件不起作用,在Three场景中,如果想要对鼠标进行操作就要引入OrbitControls.js文件,在这种控制方式下,鼠标左键为旋转视角,鼠标中键为拉伸视角,鼠标右键为平移视角。原创 2020-12-17 09:34:19 · 1934 阅读 · 0 评论 -
vue中元素嵌套iframe后绑在父元素上的点击事件失效
vue中元素嵌套iframe后绑在元素上的点击事件失效点击事件和拖拽事件冲突使用 focus-outside 库解决iframe和父组件之间的通信问题原创 2020-12-02 15:12:07 · 8851 阅读 · 0 评论
分享