自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

君莫笑

文章自娱 知识共享

  • 博客(58)
  • 资源 (8)
  • 收藏
  • 关注

原创 A robust way to prevent window from unloading with onbeforeunload and addEventListener beforeunload

It’s annoying that sometimes the beforeunload event listener doesn’t not work. so I’m going to take some time starting an experiment.Teststest which of the following js code can prevent window unloadevent.preventDefault()event.returnValue='xxx'return

2023-10-16 09:21:52 243

原创 即日起博客停止更新

即日起,我将停止更新CSDN博客,对评论区的疑问仍继续提供解答。

2023-04-05 12:46:42 157 1

原创 如何在iOS Safari/Android Chrome禁止手势缩放、阻止下拉刷新、阻止滑动前进后退

本文代码源自我在 StackOverflow Disable pull-to-refresh in iOS 15 Safari 的回答,难点在于 1. 同时兼容iOS Safari和Android Chrome 2. 足够标准不至于过段时间就不适用 3. 副作用小不至于让开发者左右两难

2022-12-06 01:15:28 3187 4

原创 各浏览器的setInterval实现细节测试

如何以指定的帧速绘制动画?用setInterval来调度误差大吗?下面的测试会给出解答。测试15fps的帧速(帧间隔毫秒为1000/15),测试持续60秒,期间页面一直保持显示状态(不切换到后台,不息屏)

2022-12-01 19:29:56 979

原创 通过HTTP Link标头实现页面资源预加载(preload)

本文介绍一种采用HTTP Link响应标头的资源预加载方式http-preload,通过预先定义preload manifest文件来描述哪个页面需要预加载哪些资源,并使用Node.js, Tomcat, Nginx等多种服务端的middleware/filter读取preload manifest按照其中的描述规则来实现页面资源预加载。...

2022-07-24 19:35:48 1323

原创 一种3D视频格式转换(H264 MVC至SBS / OU)方案

本文介绍如何使用系列软硬件对3D MVC编码的蓝光视频进行Rip,Split,Transcode,Merge,最终得到3DFull-SBS或Full-OU格式,以便在VR头显上观看。

2022-07-23 01:45:06 2935

原创 系列关于Windows主机与Linux虚拟机的集成技巧

通过在Windows端和虚拟机Linux端安装系列软件并按一定的方式配置,开发者可以实现类似于WSL那样的Linux虚拟子系统。

2022-07-07 11:30:28 704 1

原创 给网站添加“开放搜索描述“以适配浏览器的“站点搜索“

要在一个常用网站搜索,想必大部分人会这样:而如果一个网站适配了浏览器的"站点搜索"(site search)特性,或者说添加了"开放搜索描述"(opensearch description),那么用户可以也通过以下方式进行搜索:如果你需要频繁新打开页面在一个网站搜索,使用站点搜索方式来搜索通常可以节省时间。以下步骤将以站点www.example.com为例,介绍如何将一个现有查单词的搜索功能集成到浏览器地址栏。例如:search.osdx,放置在站点首页旁边服务器在提供search.osdx时最好使用标准

2022-06-23 11:11:41 668

原创 VSCode语法高亮 禁用括号花俏的颜色

问题升级VSCode到版本1.67之后,源代码的语法高亮 各种括号(小括号、中括号、大括号)成了代码中最醒目的,黄色、紫色、各种颜色看起来没有规律。排查一开始我以为是那个扩展程序不兼容最新的VSCode,搞乱了语法高亮功能。于是我尝试了各种操作,以试图让代码高亮恢复以往的正常,包括:禁用所有扩展程序,重开VSCode,卸载所有扩展程序,…卸载VSCode, 删除VSCode遗留目录(appdata/settings),重启Windows,…重装VSCode,…问题依旧,因此可以基本确定是V

2022-05-07 22:01:19 3861 11

原创 一种canvas动画的帧速控制方法

在使用requestAnimationFrame时,如何以指定的帧速绘制动画?我能想到的是:假设检测到浏览器允许的requestAnimationFrame帧速为60fps,要实现30fps动画只需在每2个requestAnimationFrame回调中丢弃1个,要实现24fps则在每5个中丢弃3个,要实现59fps呢?当然是在每60个中丢弃1个。关于帧丢弃的规则,我之前的设想是预设一些帧丢弃的范式例如 60fps转24fps的范式为[1,0,0,1,0,1,0,0,1,0,...](其中的0代表丢弃帧

2022-03-24 15:43:57 1375 1

原创 一些Pixel手机的使用技巧

作为用过3款Pixel手机的用户,平时总结了一些技巧,现分享给大家。安装Files应用来启动内置的文件管理器适用于Pixel/Android 10或后续机型/系统其实Pixel内置一个文件管理器,功能对一般人来说是够用的。但默认情况下要通过设置 > 存储 > 文件才能将其启动。安装Files就可以以应用的方式快速启动它。启用谷歌拼音输入法适用于Pixel 2/Android 11或后续机型/系统把系统刷成Android 11后,默认输入法从谷歌拼音输入法变成Gboard。谷歌拼音输入

2022-03-13 16:04:32 7077

原创 在Debian/Ubuntu安装Tomcat

这个话题的文章已经有很多人写,但每个人起点/途径/目的都可能不一样。先介绍我写这篇博客的场景:起点:Ubuntu 20.04 LTS x86-64 Server途径:直接从apt仓库安装软件包,并大体按照Debian推荐的方式来配置目的:可作开发自测环境(支持远程调试、支持一键WAR包部署),兼模拟生产环境(开启APR、开启SSL)安装过程注:下文中提到的Shell命令均不带sudo,请酌情添加sudo,或改通过用户root来执行安装JDK可直接从apt仓库安装OpenJDK,或下载

2021-10-31 00:31:17 1239

原创 OpenSSL自签名SSL证书相关脚本

本文介绍的OpenSSL脚本采用自签名CA(以方便多份证书的签发和使用)支持SAN(主体备用名称)导出各种文件格式,并简述文件用法以下脚本仅供参考,风险自负1. 证书的请求创建目录接口mkdir sslcd sslmkdir certs private csr conf# intial directory structure# ssl/# ├── certs/# ├── conf/# │ ├── ca.conf# │ └── localhost.conf# ├─

2021-10-29 09:55:57 2613 2

原创 DCI-P3广色域显示器的支持现状

有了DCI-P3广色域显示器当然要让它发挥出色,只是平台/框架的支持正在发展,离真正的应用还需要些时日,但这不妨开发者实验性地探索。

2021-10-16 19:31:40 2488

原创 配置PotPlayer渲染HDR10视频

要尽可能正确地渲染HDR10视频,这里分两种情况,请根据自身情况对号入座。第一种情况:显示器没通过DisplayHDR认证,位深度低于10-bit,色域没达到90% DCI-P3/AdobeRGB此时PotPlayer的默认设置已考虑到HDR10视频的呈现问题,会做HDR->SDR tone mapping,所以开箱即用,无须特别设置第二种情况:显示器通过DisplayHDR认证,颜色位深度达到10-bit,亮度峰值达500nits,色域达到90% DCI-P3/AdobeRGB。

2021-10-16 18:34:43 11986 1

原创 Ethernet应用层有效网速计算方法

此方法用于计算以太网应用层的理论传输速率,理论传输速率跟以下因素相关第四层:TCP 或 UDP第三层:IPv4 或 IPv6第二层:MTU值第一层:链路速度(10Mbps ~ 100Gbps)/** * calc transfer speed over TCP or UDP * @param {number} bps - 10Mbps to 100Gbps * @param {mtu} mtu - 1500(standard), 7935(lan) or 9000(jumbo) * @pa

2020-12-18 19:09:54 649 1

原创 Nginx的跨源/跨域配置宏cors_params

网上搜到的很多Nginx CORS配置虽然也起作用,但是可能因未参考规范而缺少基本的逻辑判断,不能表达CORS的工作原理。Tomcat中有参考自CORS specification的CORS实现CorsFilter,用起来非常方便...

2020-07-20 20:03:05 754

原创 配置Debian/Ubuntu桌面版,默认启动到CLI界面

为什么虽然安装Linux系统时选择了安装了桌面环境,但有些时候我们用Linux只是为了运行一些服务,启动到CLI终端就够了,并不需要每次都启动到GUI桌面环境,毕竟启动到桌面环境会多占用一些系统资源。我希望系统默认启动到CLI,如果在CLI使用过程中要使用GUI,再通过运行startx切换过去。怎么弄备份/etc/default/grub,编辑/etc/default/grub,调整或添加...

2020-05-07 14:13:16 1575

原创 配置PotPlayer和Dolby Access启用耳机杜比全景声

背景电影的6声道8声道环绕声通常由播放器程序(如PotPlayer)downmix成2声道立体声输出,因downmixing算法质量参差不齐,空间音效也无从保证。Windows10中新增一种名为WaveOut音频输出过滤接口,从架构层定义了音频过滤的机制。杜比实验室依靠多年的混响经验,推出了基于WaveOut接口的Dolby Atmos for Headphones,可接收并加工其他播放器输出...

2020-05-07 13:30:17 33160 20

原创 用VirtualBox安装Debian/Ubuntu到物理磁盘,并实现从BIOS启动Debian/Ubuntu

操作步骤1. 腾出一块磁盘准备好所腾出磁盘的序号按Win+R运行diskmgmt.msc打开磁盘管理鉴别出所腾出的磁盘,记住其序号(如0),后面需要用到(如SELECT DISK 0, PhysicalDrive0)2. 使用DISKPART修改磁盘属性以管理员身份打开命令行窗口,执行diskpart执行SELECT DISK 0选择要操作的磁盘 (0代表所腾出磁盘的序号)执...

2019-10-25 16:37:36 1174

原创 把Windows PC打造成最基本的路由器

介绍本文不是:Windows如何在创建WiFi移动热点本文也不只是:Windows如何启用Internet共享本文分享的是:把Windows PC作为简单NAT路由器(基于但不限于Internet共享),将PC与其他终端连接,实现数据高速传输,以作的应急之需。背景两台电脑之间要传输大量数据,需要以最快的速度实时传输(通过1000M以太网口)。可能存在的问题: 1. 没有相应配置的路由器...

2019-05-09 00:28:38 21834 1

原创 进一步配置Nginx支持HTML5 history state,React browser router

Nginx支持支持HTML5 history state,基本的配置方法如下 location / { try_files $uri /index.html; }你很快就会发现这种配置方式地缺点:只要/index.html存在,就服务端不会有响应404状态,包括实际资源不存在的JS/CSS/图片等请求。上述缺点导致的问题可能会让人抓狂:页面出不来预期效果,网络加载...

2019-01-10 19:56:02 1283

原创 Servlet IO限速的一种粗略实现

本实现参考了 Daniel Matuschek - A FilterInputStream with a limited bandwith分别为设置下载限制速度为1MB/s 128KB/s 256KB/s,使用wget测试下载速度

2017-12-04 21:35:06 576

原创 解决"Eclipse启动Tomcat时一直preparing launch delegate"的终极方法(如果是)

描述墙内的搜索不给力,最近经常使用代理翻墙搜索,然而这时不时Eclipse启动Tomcat时却时常卡住,即使Tomcat报告Server startup in 301 ms。尝试也曾尝试按照 Eclipse 中 Tomcat启动卡100%(preparing launch delegate…) 来解决,然而这样的文章对我的情形不适用

2017-11-20 12:19:01 14034 2

原创 解决 “The absolute uri: xxx cannot be resolved in either web.xml or the jar files“

背景:使用Eclipse + Tomcat + Maven Project组合;在Eclipse中启用了Serve modules without publishing模式来部署Maven Project到Tomcat;在Eclipse中,Tomcat以调试模式运行问题:用浏览器访问Maven Project中一个页面(该页面用到jstl),服务器响应500,The absolute uri: xxx cannot

2017-03-02 11:48:42 22888 5

原创 解决Windows中修改hosts文件不起作用的问题

网传的什么“保证hosts文件编码为ANSI”,什么“执行net stop Dnscache”,什么“执行ipconfig /flushdns”,全都不适用。通过分析发现“修改hosts文件不起作用”是因“hosts文件的权限不对”导致

2017-02-13 11:01:41 20677 2

原创 文档属性时间戳修改

前几天翻阅了几年前收藏的一些文档,当对这些文档进行一番整理后,我发现部分文档属性中的修改日期变了。虽然文档元数据中存有更靠谱的修改日期信息,但是人们了解修改日期的第一途径是查看文档属性中的。 我想让文档属性中的修改日期保持原样,因为HTTP服务器在列出目录时,显示的修改日期是文档属性的。为修改文档属性的各个时间戳,我花了周五周六两天零碎的free time,做了一个修改文档时间戳的小工具FreeTime

2016-10-30 13:13:02 3553

原创 一般人不清楚的JavaScript概念

1. literal2. IIFE3. property and expando4. mixin5. shim and polyfill6. SemVer

2016-10-23 01:18:31 1497

原创 在Windows 8使用Chrome打开文件时Class not registered(没有注册类)的另类解决办法

最近基于Chrome一个扩展程序私人定制了一个Markdown查看器My GitHub Flavored Markdown,它可以查看本地或在线的md文档。当把md文件设置为使用Chrome打开时,双击md文件系统总会有对话框提示”Class not registered”;而当把md文件设置为使用Notepad打开时,则没有此问题。先后在http://answers.microsoft.com/

2016-10-15 11:43:26 7366

原创 ECMAScript 6时代悄悄来临

NodeJS v6 LTS将于2016-10-01发布,特点是正式支持ES6。回头看各浏览器(Chrome,Firefox,Safari),开发工具(Eclipse,WebStorm),压缩工具(Closure Compiler),文档工具(JSDoc)对都开始支持ES6,发现ECMAScript 6时代已经悄悄来临

2016-09-30 23:50:17 788

原创 彻底禁用UAC,解决“Windows 8/10 Administrator须以管理员身份运行才有权限”的问题

那时,开发用的新电脑一来,因系统配置的操作较多,我不想受太多权限束缚,所以登入系统后的第一件事就是启用Administrator用户,然后注销登录Administrator,并把安装时创建的用户删掉。用着用着我发现:作为Administrator之后,执行某行操作仍然没有足够权限,以至于运行cmd后无法通过net start MySQL启动服务,也无法使用mklink创建符号链接。这让人甚是困惑

2016-09-28 23:03:50 13352

原创 多份HTTP服务80端口复用问题

我们知道:1台主机有65536个端口(0~65535),每个进程会占用1个端口,HTTP协议的默认端口是80。问题现有多份HTTP服务(设作HTTPD,IIS,Tomcat)要运行时,若都想用默认端口去访问,就出现80端口稀缺的问题。常规方案通常的做法是设一个Web代理服务器(如Nginx),根据HTTP请求头Host来转发到相应的服务。本文思路好在可以通过端口转发来解决这个问题。端口转发,其原

2016-09-13 21:54:52 9071

原创 Windows之修改鼠标或触控板的滚轮方向

自从用了Mac再回来使用Windows时,鼠标滚轮的滚动方向我不习惯。 于是将家用,办公和移动三台Windows设备的鼠标或触控板的滚轮方向全部作了倒置。虽有时候别人用起来不太习惯,可是PC(Personal Computer)大部分时间都是自己在用,何必委屈自己。 具体方法,一些博友中有分享,如ahjesus - 更改windows鼠标滚轮的方向这里不再复述。 补...

2016-08-30 09:52:51 14852

原创 解决Windows下载(Downloads)目录打开速度异常慢的问题

最近我的Downloads目录打开特别慢,每打开需耗费近10秒的时间。虽说里面有100多个文件,可C:\Windows\System32里有4000多个文件却还能流畅打开。通过谷歌搜索”Windows Explorer Open Folder Slow”,我很快找到了问题原因和解决方法: 右击文件夹选择属性,在选项卡切换到”自定义“,在“优化此文件夹”下拉列表中选择“常规项目”,并“确定”。 此

2016-08-16 13:34:40 4385 1

原创 Polyfill hashchange Event oldURL and newURL attributes for IE 9+

No oldURL or newURL attribute in hashchange event? try this solution.

2016-04-30 17:33:17 1384

原创 CSS的逻辑长度与现实的物理长度

已知在现行的CSS版本中,in、cm、px是逻辑绝对长度单位,独立于显示设备,三者的转换关系是1in=2.54cm=96px。1in在显示设备(后文称显示器)上呈现多长,由操作系统的分辨率配置与显示设备的规格共同决定...

2016-02-21 22:29:24 2335

原创 JavaScript String Byte Length of UTF-8

To calculate byte length( with UTF-8 encoded) of a string, here you are, a proper method...

2016-02-21 19:31:05 1354

原创 Mac OS X磁盘重新分区后 BootCamp Windows启动项丢失

我有一台Mac,装有OS X和Windows两系统。两系统中又分别安装了VirtualBox,创建了虚拟机。...常规情形,OS X不能对NTFS分区进行写操作,Windows亦不能对HFS+分区进行写操作。...因Windows和OS X都能读写exFAT分区,故若在Machintosh HD和Windows HD之间开辟一个exFAT分区...

2016-01-15 23:51:39 14527 3

原创 老生常谈之Java字符串拼接

本文讲解Java语言中常见的几种字符串拼接方式的特点及其使用情形

2015-12-10 14:44:38 28188 1

原创 纯文本转超文本

本文介绍一种将纯文本转换成超文本的方法,使其转成的超文本内容在HTML页面中预览的效果与原纯文本预览的效果一致。该转换可采用正则表达式搜索替换来实现,具体规则如下:将HTML中5个基本保留字符(<, >, &, ", ')转换成对应HTML实体("<", ">", "&", ""&qu

2015-12-09 17:35:48 900 2

基于ffmpeg的mp4,m4a拖放即转换的bat程序

详搜新浪共享

2012-08-27

Native2ASCII快捷方式 properties

是否对MyEclipse创建properties的方式感到麻烦,不妨试试这个批处理 JDK中native2ascii.exe的快捷方式,仅65字节 将资源文件拖放至该程序上 即可为你生成*_zh_CN.properties 方便吧

2012-03-29

五个原生浏览器图标

五个原生浏览器图标 哪五个相信你已经猜到了 是用魔方图标大师从已安装的五个浏览器的主程序中提取出来的 附带其对应的浏览器文件图标 附带所有ICO的PNG版本

2011-11-30

会循环跑的类marquee实现(改进版)

会循环跑的类marquee实现(改进版) 包括沿上下左右四个方向跑的分别实现 在http://chqa.blog.163.com/blog/static/2746333200842884117589/的基础上修改的

2011-08-05

JavaScript 日历

JavaScript简单,日历模仿手机日历做的

2011-01-10

javascript+xml树形菜单

javascript+xml树形菜单,因目前只会用IE加载和解析XML,故只有IE能用

2011-01-10

javascript 折叠菜单

简单易用的折叠菜单,支持多级,HTML行内无脚本

2011-01-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除