记录部分安卓手机 input type="file"的onchange不能触发问题
今天写了一个文件上传,发现在部分安卓手机上触发不了onchange事件,代码如下: 1234567<input type="file" id="input" /><script> // 在部分安卓手机不触发 input.onchange = () => { alert(123); };</script> 经过不断测试后发现,在标签上补上accept=”image/*“后可解决该问题,修复后的代码如下: 123456<input type="file" accept="image/*" id="input" /><script> input.onchange = () => { alert(123); };</script>
JS压缩图片并保留图片元信息
JS实现图片压缩比较简单,但是图片经过压缩后,压缩后的图片的元信息(拍摄时间、设备、地点)等会丢失掉,如果在特殊场景中需要使用这些元信息的话,就会出现问题了,因此需要将未压缩前的图片元信息填充至压缩后的图片中,以下是实现代码 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137// 封装一个获取变量的数据类型函数const getType = (data: unknown): string => { const...
今日热榜HotList-Web前端开源Vue - (聚合热榜)
今日热榜 托管在 Cloudflare Pages,配合后端(韩小韩聚合热榜API)一起使用,后端源接口为官方接口。 环境需求 Nodejs >14.1.0 使用框架 Vue3 TypeScript Vite Shadcn-vue 页面AND源码截图 [{"url":"https://i0.wp.com/uxiaohan.github.io/v2/2022/12/4080225797.png","alt":"今日热榜HotList-Web前端开源Vue - (聚合热榜)"},{"url":"https://i0.wp.com/uxiaohan.github.io/v2/2022/12/407453956.png","alt":"今日热榜HotList-Web前端开源Vue - (聚合热榜)"}] 源码地址HotList-Web 成品演示后端配合 韩小韩API 聚合热榜API 使用.或者自建API使用.源码自行编译 或 直接上传 dist文件夹内已编译文件. 今日热榜 HotList-Web 韩小韩API 聚合热榜API
在Fly.io上部署Alist网盘程序
Fly.io 是一个应用部署平台,和 Netlify、Vercel 不同之处在于 Fly.io 提供了数据库,这就使得在线托管一个小型动态网站成为了可能.Fly.io 根据其官网的简介可以看到其也是借助了 Docker,用户编写代码,并用其提供的工具打包成 Docker 镜像,然后部署到 Fly.io 的平台上,之后就是 Fly.io 平台处理的事情了。本质上来说 Fly.io 就是提供了一个平台化的容器运行时环境。 关于收费Fly.io 是提供一定限额的免费使用额度的,他们的目标就是让小型的应用可以免费运行,而在需要扩展的时候支付一定的费用,而这笔费用也不会太昂贵。Fly.io 的应用会根据使用情况单独计费。Fly.io 会根据单个用户或者组织计费,官方也说了,如果想要更多免费的应用,那么你可以创建多个组织。 免费限额 分类 限额 说明 VM: shared-cpu 每个月 2340 小时 可以全天候运行 3 个 256 MB 内存的共享 CPU 的 VM Volumes 3GB 提供 3GB 永久存储 Bandwidth 160...
利用CloudFlare的Workers和Pages反代Github并缓存实现Github文件加速访问
众所周知Github是全球最大的代码托管平台,我们可以通过使用GitHub学习知识、发现优秀的开源软件,也可以上传自己的项目或文件。但对于国内的同学来说,如果不挂代理,访问Github是不太稳定的,且下载巨慢。网上有很多Github加速访问的方法,如果你也想拥有一个属于自己独享的Github加速,可以按照此教程搭建一个你自己的反代来实现加速Github文件访问的服务。 CloudFlareCloudFlare提供的不仅仅是CDN,而是一个快速、敏捷、安全的全球网络。CloudFlare通过全球边缘网络实现超快速的静态和动态内容交付。对内容的高速缓存方式实行精确控制,降低带宽成本,并充分利用内置的不计量 DDoS 保护。今天我们使用 CloudFlare Workers 和 CloudFlare Pages来搭建我们的反代服务。 通过CloudFlare Workers实现反代没有CloudFlare账号可以去简单注册一个,以后肯定必然会用的到!首先,创建一个CloudFlare Workers服务,步奏如下图。 ...
简单逆向某色情网站图片加密(原创)
今天,一Py哥们为民除害爬取某色情网站的时候,遇到了一点点小问题,关于色色电影列表中视频封面数据的问题,我简单的看了一下,我也是第一次见到这种,挺有意思的封面图片渲染,所以单拉出来我们一起来看看! 图片地址SRC 审查元素查看图片地址是 Base64 地址,并不是网络地址,不会被墙,根据用户网速加载,不占用服务器带宽,挺好的。控制台的数据是没有任何问题的,然后又看了一下源代码。 IMG标签中的Origanal数据 我从源代码中查看 IMG 标签并没有发现 SRC...
骚扰电话API接口 开源
根据 服务器接口数量、带宽、可维护性等多种因素,韩小韩API接口站决定下架骚扰电话API接口,不过由于使用量过大,突然下架是对用户的不负责,故将骚扰电话接口开源,供大家直接使用或二次修改使用。 骚扰电话查询API骚扰电话查询API - 韩小韩API接口 骚扰电话查询API源码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485<?php/* * @Author: Han * @Date: 2021-10-26 10:12:07 * @LastEditors: Han * @LastEditTime: 2022-02-16 13:24:53 * @FilePath: \saoraotel.php *///...
蓝奏云盘解析API接口 开源
根据 服务器接口数量、带宽、可维护性等多种因素,韩小韩API接口站决定下架蓝奏云解析API接口,不过由于使用量过大,突然下架是对用户的不负责,故将解析接口开源,供大家直接使用或二次修改使用。 蓝奏云解析API蓝奏云解析 -...
知乎热榜API、百度热点API、微博热搜API(开源)- 聚合热榜API开源
源码为一次源码,源接口为官方接口,与 韩小韩API(Api.Vvhan.Com)使用接口完全相同,上传即用! 环境需求 PHP 5.4及以上 使用方式:上传即用 知乎热榜API源码12345678910111213141516171819202122232425262728<?php// 知乎热榜 热度function zhihuHot(){ $_resHtml = str_replace(["\n", "\r", " "], '', vvhanCurl('https://www.zhihu.com/hot', ['User-Agent:Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1'],...
原型继承和 Class 继承
⾸先先来讲下 class ,其实在 JS 中并不存在类, class 只是语法糖,本质还是函数 12class Person {}Person instanceof Function; // true 组合继承1234567891011121314function Parent(value) { this.val = value;}Parent.prototype.getValue = function () { console.log(this.val);};function Child(value) { Parent.call(this, value);}Child.prototype = new Parent();const child = new Child(1);child.getValue(); // 1child instanceof Parent; // true 以上继承的⽅式核⼼是在⼦类的构造函数中通过 Parent.call(this)...













