js页面历史返回
历史是一堆灰烬,但灰烬深处有余温。——黑格尔 我们可以使用history.back()来进行页面返回 history的文档: History API - Web API | MDN 除了返回还可以前进 1history.forward(); 以及 12// 向后跳转一个页面(等价于调用 back())history.go(-1); 然后还有 12// 向前跳转一个页面,就像调用 forward()history.go(1); 当然传入0就是刷新 123// 以下语句都具有刷新页面的效果history.go(0);history.go(); 还有查看页面栈长度 1const numberOfEntries = history.length; 补充: 12345678910window.addEventListener("popstate", (event) => { alert(`位置:${document.location},状态:${JSON.stringify(event.state)}...
uniapp生成二维码
绝不离开自己祖国的人充满了偏见。——哥尔多尼 分享一个库,在uniapp里能生成指定二维码 https://github.com/q310550690/uni-app-qrcode uni-app 二维码生成器作者:诗小柒 H5、微信小程序、支付宝小程序、APP,其它平台的小程序没有测试 使用canvas生成 可设置二维码背景色,前景色,角标色 可设置二维码logo 重要的事情说3遍 重要的事情说3遍 重要的事情说3遍 IOS、Android真机都可以正常生成二维码 使用的时候出现无法生成二维码或空白的请先github直接打包下载,问题依旧,请github上直接提出问题并配图 有问题请说明问题原因,这样我才好定位,否则我也无法解决 如果此插件有帮助到你请打5分或赞赏我,你的支持是我更新的动力 图片1 是微信小程序真机实测 图片2 是微信小程序模拟实测 图片3 是支付宝小程序模拟器实测 图片4 是安卓真机实测 图片5 H5 开始使用NPM 1npm i tki-qrcode GIT 1git clone https://github.com/q310550...
h5判断是ios还是安卓
理想主义者是不可救药的:如果他被扔出了他的天堂,他会再制造出一个理想的地狱。——尼采 主要就是这个代码 123var u = navigator.userAgent;window.isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端window.isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 这边用用户的agent和正则判断
nativeShare.js
进步是人的生活方式。——雨果 分享一个 https://github.com/JefferyWang/nativeShare.js 这个库是王俊锋写的,用于h5直接唤醒浏览器的分享 注意:目前仅支持手机UC浏览器和QQ浏览器 nativeSharenativeShare是一个可以通过javascript直接调用原生分享的工具. demo 我们知道现在我们无法直接通过js直接跳转到微信和QQ等软件进行分享,但是现在像UC浏览器和QQ浏览器这样的主流浏览器自带一个分享工具,而他们也有自己定义的js接口.我们通过调用浏览器的接口去调用浏览器的分享,从而实现原生分享功能.是不是很酷呢? 该工具具有以下特点: 支持原生微博、微信好友、微信朋友圈、QQ好友、QQ空间分享 支持调用浏览器更多分享功能 注意:目前仅支持手机UC浏览器和QQ浏览器 github项目地址: https://github.com/JefferyWang/nativeShare.js Git@OSC项目地址: http://git.oschina.net/wangjunfeng/nativeSha...
谈谈我对实时计算的理解
近水楼台先得月,向阳花木易为春。——俞文豹 在这个数据驱动的时代,实时计算和大数据处理成为了许多企业和开发者关注的焦点。这里就来简单介绍一下实时计算和Flink的相关概念,希望能帮助大家快速入门。 什么是实时计算? 简单来说,实时计算就是指对实时数据进行处理和分析,而不是等到数据全部收集完毕后再进行批量处理。以前我们可能每天汇总一次用户数据,而实时计算则是数据一来就立即进行统计和处理,这样可以更加及时地获取有价值的信息。 实时数仓与实时计算的关系 实时数仓是数据仓库的一种形式,它能够实时处理和分析数据。相比传统数据仓库,它的优势在于能够处理流式数据(不断产生的数据流),并实时更新分析结果。这对于需要即时决策的应用场景,比如实时推荐系统、实时监控等,具有非常重要的意义。 Flink的出现 Flink是一种分布式流处理框架,能够处理无界和有界的数据流。它不仅支持实时流处理,还支持批处理,这使得它在处理大数据时非常灵活和高效。 Flink的主要特点包括: 高吞吐量和低延迟:能够处理大量数据并在低延迟下提供结果。 容错性:通过检查点机制,能够在故障发生时恢复数据处理。 灵活的窗口机...
uniapp将h5底部tabbar改到顶部
家贫僮仆慢,官罢友朋疏远。——佚名 样式: 1234567.uni-tabbar{ top: 0; height: 50px;}.uni-app--showtabbar { padding-top: 50px;} 当然大家也有大家的方式,不能说谁的好谁的坏 我这个的主要特点是能够适配没有tabbar的子页面
安卓能监听滚动事件的库
君子之言,寡而实。小人之言,多而虚。——刘向 分享一个安卓能监听滚动事件的库 Android-ObservableScrollView | Android library to observe scroll events on scrollable views. GitHub - ksoichiro/Android-ObservableScrollView: Android library to observe scroll events on scrollable views. 例子从 Google Play 下载 请注意,Play 商店中的应用程序并不总是最新版本。 从沃克下载如果您是 wercker 用户,您可以下载最新的构建工件。详细信息请参见此处。 手动安装只需使用 Gradle 克隆并执行 installDevDebug 任务即可。详细信息请参见此处。 用法 将 com.github.ksoichiro:android-observablescrollview 添加到 build.gradle 中的 dependencies 中。 添加 Observ...
事务同步器
君子择交,莫恶于易与,莫善于胜己。——王夫之 有时候我们需要在事务执行前后执行一些代码,这时候可以使用事务同步器 1234567891011121314151617181920212223242526272829303132import org.springframework.transaction.support.TransactionSynchronization;public class MyTransactionSynchronization implements TransactionSynchronization { @Override public void beforeCommit(boolean readOnly) { // 事务提交之前的逻辑 System.out.println("Before commit"); } @Override public void beforeCompletion() { // 事务完成之前的逻...
popper.js定位提示和泡泡弹框
烈火试真金,逆境试强者。——塞内加 https://popper.js.org/docs/v2/ 分享一个定位工具提示和弹出窗口的库 例如 123456789101112131415161718192021222324252627<!DOCTYPE html><title>Popper example</title><style> #tooltip { background-color: #333; color: white; padding: 5px 10px; border-radius: 4px; font-size: 13px; }</style><button id="button" aria-describedby="tooltip">I'm a button</button><div id="tooltip" role="tooltip&qu...
MybatisPlus自动填充忽略存在值直接填充
再也无需前思后想,一切岂非已然过往。——《且听风吟》 代码如下,主要是重写strictFillStrategy方法 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576import cn.dev33.satoken.stp.StpUtil;import cn.hutool.core.lang.Opt;import com.baomidou.mybatisplus.core.MybatisConfiguration;import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;import com.baomidou.mybatisplus.core.handlers.StrictFill;import com.baomidou.mybatisplus.extension.plugin...
