saber酱的抱枕

Fly me to the moon

03/8
02:05
学习

CSS3的灰度滤镜grayscale

测试文字测试文字测试文字

有时候网页上需要做一些黑白切换效果,比如分享按钮,原本是灰色的,鼠标放上去的时候再变成彩色的。

传统办法是准备两张图,一张灰色的一张彩色的,用切换图片或者背景定位(background-position)来实现。

在CSS3里就很方便了,只需要准备一张彩色图片,在需要用灰度的时候应用grayscale滤镜即可(并且grayscale滤镜还可以用于文字等其他元素)。

上面效果的代码:

<style>
	.css3_gray{filter: grayscale(100%);transition: all .3s ease;}
	.css3_gray:hover{filter:none;}
</style>
<p style="color:#ef457e;" class="css3_gray">测试文字测试文字测试文字</p>
<img src="/f/fenxiang1.jpg" alt="" class="css3_gray">

兼容性:
各大浏览器均可,除了IE全系列(没错,IE11也不支持css3滤镜)
Read More →

CSS3的灰度滤镜grayscale

01/13
03:53
学习

使用JavaScript自定义右键菜单

当用户在网页中按下鼠标右键时,会触发JavaScript的contextmenu事件。

我们可以先做一个菜单并且隐藏起来,等到用户按下鼠标右键的时候,阻止默认的右键菜单,并在鼠标位置显示我们自己的菜单。

举个例子,在下面的区域里按右键就会显示自定义的右键菜单:

代码如下:
Read More →

使用JavaScript自定义右键菜单

01/4
10:21
学习 软件

在新页面打开twitter大图的脚本

在twitter上查看图片时,很多时候右键是不能保存的(因为图片上面有其他元素遮挡了),这样我们想保存图片的时候就很不方便了。

我写了个JavaScript脚本,在看图的时候会在右侧显示一个按钮,点击之后在新页面打开图片,然后ctrl+s就可以直接保存了。

这是一个用户脚本(UserScript),你可以在greasyfork.org上安装它

小姐姐:サク@saku93

在新页面打开twitter大图的脚本

01/3
02:16
学习

iframe自适应高度

iframe平时我们已经不怎么用了,但有些特殊情况还是要用。浏览器默认给iframe的区域都比较小:

宽度好解决,一般由父页面控制iframe的宽度,直接设置样式即可:

<iframe id="iframe" src="url" frameborder="0" style="width: 100%;"></iframe>

但是iframe的高度不会自动撑开,我们可以用JavaScript来解决。
Read More →

iframe自适应高度

12/31
06:48
ACG 学习 软件

替换寂月神社的“马赛克”封面

hentai javascript UserScript 寂月神社 福利

寂月神社是一个有福利的网站。一些福利资源的封面图加载的是15x15像素的小图,形成了类似马赛克的效果。但是这些资源的文章里没有配图,封面还这么模糊,就没办法好好看了。

我写了一个JavaScript的UserScript这个脚本可以把模糊的封面图替换成清晰的。

到greasyfork.org安装本脚本

ps:
1.不会使用的话在greasyfork.org首页有教程。简单来说就是先安装Tampermonkey这个浏览器扩展,然后安装我的脚本,最后刷新网页就行了。
2.在手机上也可以用。手机(安卓)上先安装Firefox浏览器,然后点开菜单-→“附加组件”-→“浏览全部Firefox附加组件”,搜索并安装Tampermonkey。好了之后再安装我的脚本。
3.如果找不到下载链接,可以复制标题关键字到bt网站搜索磁链

替换后效果:
Read More →

替换寂月神社的“马赛克”封面

12/28
10:14
学习

JavaScript的复合事件(composition event)

今天看《JavaScript高级程序设计》时看到了DOM3级事件中的复合事件(composition event),可以用来接收IME输入的内容,我便研究了一番。

复合事件(composition event)有3个事件:

compositionstart:在IME的文本复合系统打开时触发,表示要开始输入了。
compositionupdate:在向输入字段中插入新字符时触发。
compositionend:在IME的文本复合系统关闭时触发,表示返回正常键盘的输入状态。

浏览器能力检测:

document.implementation.hasFeature("CompostionEvent");

兼容性:
IE11、Edge、Chrome、Firefox 都已经支持。
Read More →

JavaScript的复合事件(composition event)

11/29
07:22
学习

PHP缓冲区问题导致的dedecms异常

最近服务器上迁移过来了一些网站(后台是DEDECMS),今天遇到了两个因为PHP缓冲区导致的图像损坏问题。

1.验证码无法显示

这个验证码在原本的服务器上是正常的,到了新服务器上却无法显示了。

对于这个问题,我们可以修改dedecms的文件去除验证码,但是这个办法治标不治本。正确的处理办法是在include文件夹的vdimgck.php里加一句ob_end_clean();函数来解决。
Read More →

PHP缓冲区问题导致的dedecms异常

11/6
05:12
学习

批量删除迅雷离线任务的用户脚本

批量删除迅雷离线任务的用户脚本

上午我在迅雷客户端里看到有离线空间里有很多任务,于是在网页版离线空间里看了看,有一万多个任务,有的还是等待下载或0%的状态。我强迫症犯了,想要删除掉,但是每页只有30个任务,这样的话批量删处也要点好几百次,于是我用JavaScript写了个脚本执行自动删除功能。

代码很简单,就是模拟鼠标点击全选按钮和删除按钮,这里就不贴了。你可以在greasyfork.org查看此脚本

现在网页上删除完了,但是客户端就很奇怪,没有同步网页端的结果,仍然显示的有很多任务。很烦。

批量删除迅雷离线任务的用户脚本

10/26
13:38
学习

CNZZ统计代码被劫持挂马了

刚才我给网站添加了定时换头像的功能,改完后查看控制台时却发现有两个报错,说是有两个js脚本以http方式加载,因此被阻止了。(体现出了https的好处X2)

CNZZ统计代码被人挂马了

这就奇怪了,明明几分钟前控制台还没有任何报错的。

这俩脚本一个是陌生网站的,“www.taolecun.com/dx.js?advert=87”,这个玩意一看就是恶意代码。第二个是cnzz的。

恶意代码是通过被劫持的cnzz的core.php加载的,它返回的代码里有个loadjs函数,加载了恶意代码:

CNZZ统计代码被人挂马了

这说明cnzz的代码被劫持并修改了。
Read More →

CNZZ统计代码被劫持挂马了