Saber 酱的抱枕

Fly me to the moon

10/4
2014
学习

JavaScript在用户离开和关闭页面时提示确认

通过JavaScript的onbeforeunload事件,可以让浏览器在用户关闭页面时显示确认提示。简单的示例如下:

window.onbeforeunload = function(event) {
	event = event || window.event;
	event.returnValue = '';
}

效果大致如下:
js JavaScript onbeforeunload 关闭页面

onbeforeunload事件发生在用户刚进行了要离开页面的操作(举例为刷新操作),但此时浏览器还没有发起网络连接。
onunload事件则发生在onbeforeunload之后,它是浏览器已经拿到了服务器返回的页面,准备替换掉现有页面时发生的。

早两年chrome里除了浏览器自身的提示,还可以加自定义的文字提示,但现在似乎不行了。

JavaScript在用户离开和关闭页面时提示确认

10/4
2014
学习

css3的旋转动画一例

今天在看某网站的时候发现鼠标经过用户头像,会产生360°旋转的效果,我意识到这应该是个css3的动画效果。可是css3我也没怎么实践过,于是审查元素,最后发现了代码。

对某一元素或者选择器设置:

a:hover{
transition:all .5s;/*所有动画效果过渡时间为0.5秒*/
-webkit-transform:rotate(360deg);/*旋转360度*/
}

刚开始我确实对所有的a标签这样设置了,结果极其丧病,后来去掉了正文部分的旋转效果。

css3的旋转动画一例

10/4
2014
学习

给图片预设宽高避免图片载入时重新渲染页面

在68设计网看到的一篇文章《再谈Yahoo关于性能优化的N条军规》,说到了要给所有图片设置宽高。以前我没这么做,因为一般情况下浏览器会自动按原大显示图片,除非是我要强行拉伸或者缩小图片才指定宽高。现在去百度的网站看了看,不管是首页的logo,还是百度音乐的图片,或者是百度贴吧帖子列表里展示的缩略图,全都设置了宽高。继续百度,原来这样做可以避免对页面的重新渲染,可以优化页面的载入。以后也这样做好了

直接引用过来一段话:

如果不设置图片大小,页面需要重新渲染,那么为什么会这样呢?做过浏览器开发的朋友一定清楚HTML页面渲染的大致流程,浏览器分析接收到的HTML代码,生成DOM树,然后布局管理器对DOM树的可视元素进行排版,分配其位置、宽度以及高度。知道位置、大小之后就可以对DOM中的可视化元素进行视觉表达,即渲染(Render)。如果一个图片没有设置大小,那么在生成DOM树的时候就无法确定其大小,也无法预留其显示空间。当浏览器根据URL找到这个图片之后,对图片进行分析,才知道它的大小,本例中,是672 X 74,但此时DOM树已经生成,要给这个图片分配显示空间,就要重新渲染页面。如果我们实现设置好了图片大小,那么在生成DOM树的时候,我们就知道这个图片要显示成多大,分配什么什么样的显示空间,尽管图片还没有载入,我们只需要预留其位置即可。当浏览器载入图片的时候,按照预设的长度和宽度分配显示空间,将图片渲染至预留位置,而网页本身无须重新渲染,这样就节约了时间

参考:《给图片预先设置宽高的好处》

给图片预设宽高避免图片载入时重新渲染页面

10/4
2014
其他

U盘识别变慢后格式化解决

我U盘有半年多没格式化过了,虽然不知道是不是这个原因,但最近插在电脑上识别越来越慢。在我自己的本子上,是插上几分钟才显示出来,昨天更坑了,插上后资源管理器的地址栏出现了进度条,很慢很慢的走完了U盘还没出来,又是等了好久才出来。在别的电脑上情况倒不一样,有的和我昨天的情况差不多,有的则速度正常。后来决定格式化一次,把数据拷贝出来之后格式化,再插上秒识别秒显示。不知适合原理。

U盘识别变慢后格式化解决

10/3
2014
游戏

有88的单刷,好轻松

中午11点多冲了100q币,带逆战里面买了个88.后来12点多的时候又冲了100,都是在买手机的店里冲的,没冲错号,而且店里也显示充值成功,但是几个小时了还不到账,不知道是不是就这么被TX黑了。坑爹玩意

这次的陷阱配置是:减速、88、墙电、切割。原来的地火+维修用88取代了,空出来一个位置放了墙电。没用地刺的原因是,在压力最大的第一线(88前面的一排减速那里),地刺完全起不到作用,所以带上了墙电。

第一关开始前放一个减速就行,然后喷龙蛋。

Read More →

有88的单刷,好轻松

09/30
2014
软件

WIN7在桌面显示隐藏IE图标的方法


刚才逛7吧看到一坟贴,楼主问他把桌面的ie图标删了,怎么恢复出来,而且不要发送快捷方式的这样(当然正版win7桌面是没有IE图标的,又是G版装机)。我工作的这台电脑也是一样,原本桌面有ie图标,我给删了,我就想试试帖子里说的方法。这是用的注册表方法,复制以下代码另存为一个reg文件,双击导入,之后再刷新桌面就能看到ie图标了。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{00000000-0000-0000-0000-100000000001}]
@="Internet Explorer"

[HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-100000000001}]
@="Internet Explorer"

[HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-100000000001}\DefaultIcon]
@="C:\\Windows\\System32\\ieframe.dll,-190"

[HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-100000000001}\shell]
@=""

[HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-100000000001}\shell\NoAddOns]
@="无加载项(&N)"

[HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-100000000001}\shell\NoAddOns\Command]
@="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\" -extoff"

[HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-100000000001}\shell\Open]
@="打开主页(&H)"

[HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-100000000001}\shell\Open\Command]
@="\"C:\\Program Files\\Internet Explorer\\iexplore.exe\""

[HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-100000000001}\shell\Set]
@="属性(&R)"

[HKEY_CLASSES_ROOT\CLSID\{00000000-0000-0000-0000-100000000001}\shell\Set\Command]
@="\"C:\\Windows\\System32\\rundll32.exe\" C:\\Windows\\System32\\shell32.dll,Control_RunDLL C:\\Windows\\System32\\inetcpl.cpl"

如果想要删除这个图标,可以尝试把以下代码保存为reg文件导入注册表。

Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{86AEFBE8-763F-0647-899C-A93278894D8F}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{ADCB47F7-5074-4971-8B5E-CA46E23D7B08}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{e17d4fc0-5564-11d1-83f2-00a0c90dc849}]

导入注册表后刷新桌面,如果没反应,注销或者重启一下。如果图标还没有消失,那就需要进注册表手动删除了。

进入注册表,展开到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\之下,然后一个个点击里面的项目,找到右侧值为Internet Explorer的一项,删除该值。

之后注销或重启电脑,IE图标就消失了。但在此之后,上面显示IE的注册表值就不会再生效了。

WIN7在桌面显示隐藏IE图标的方法

09/29
2014
学习

记录一些可以提高用户体验的细节

1.顶部始终显示在页面顶部

如现在的新百度搜索页,方便用户在滚动到下面之后随时修改关键词,无需先返回顶部(当然以前是底部也有个搜索框,方便用户在底部的时候修改关键词,但要是在页面中间的时候呢?显然是把搜索框固定到页面顶部更高明。)

这个做法是把头部做了个固定定位:position:fixed;,不过在超过一屏后加了个下阴影以显示和主体内容的区别。

拓展思维:把导航、筛选条件等功能区固定也是个好思路。qq客服等基本都是固定的了。不过广告图片的固定就呵呵了

2.超过一屏之后出现返回顶部按钮

在懒人建站找到了一个,先剽窃过来:

如果保存下来测试会发现右下角的图片按钮加载不粗来,因为js里面只写了个“up.png”,调用的是和此html同目录的up.png,实际使用的话可以去js文件里修改下up.png的路径。

记录一些可以提高用户体验的细节

09/29
2014
其他

感觉桌面只剩回收站是很不错的

新公司1080P镇楼,终于不用小屏了,简直喜大普奔

win系列的原版系统,新装之后桌面都只有个回收站,小白对此经常苦不堪言,但是电脑用熟练以后,会发现自己也会往这方面靠拢。为什么呢,“计算机”(xp叫做“我的电脑”),属于一个快捷键就可以取代的玩意;网络(xp叫做“网上邻居”)普通青年极少有用得着的;用户文件夹(xp叫做“我的文档”),这个其实也用到的比较少,因为大部分文件我们通常都会归纳到对应的文件夹。至于IE图标,肯在任务栏给它个位置就不错了,桌面上还是省省心吧。至于在桌面上放各种软件的图标,极简主义者表示:任务栏是干嘛的?如果说图标太多任务栏都放不下,那么不常用的就删了,用的时候到开始菜单里面扒。

其实连回收站也可以省了,进入回收站之后可以在左侧的收藏夹上右键添加当前位置,或者在地址栏直接输入回收站进入

感觉桌面只剩回收站是很不错的

09/29
2014
软件

XnView的设置

17/3/12更新:
XnView使用了一年半,发现的主要缺点有2,都令人难以接受:

1.如果文件路径中有空格,或一些特殊的字符(比如一些日文名称的),XnView就打不开文件,看本子的时候很烦呐。
2.批量转换图片格式时蓝屏过两次,还会导致许多文件损坏。后来不敢用它转换了。

前几天我尝试了XnViewMP(XnView的增强版),解决了第一个问题,第二个问题倒没敢去测试。但我又发现了新问题,XnViewMP把图片另存为的时候不能调整图像质量了,导致文件体积很大,这个我绝对无法忍受,于是换成了FastStone Image Viewer。

17/3/19更新:
faststone image viewer也令我无法忍受,它有个严重并且无法解决的缺点:

同时只能打开一张图片。比如说平时我们先打开一张图片,再打开第二张图片,多数看图软件会使用两个窗口同时展示这两个图片。但faststone image viewer却始终只有一个图片窗口,后打开图片的就把前面打开的图片顶下去了。这个问题令我难以忍受。

后来我又发现faststone image viewer另存图片时,同样的图片质量(如jpeg80,),存出来质量比其他软件的差,有些图的差别肉眼可见。

faststone image viewer的图标也很丑。

目前我又在尝试IrfanView。它没有文件夹浏览器,但其他功能还是很齐全的,也有一些有特色的功能。只是需要适应适应。

IrfanView需要插件才能支持webP格式,需要下载http://irfanview.info/files/iv_formats.zip然后解压到IrfanView安装目录里的Plugins文件夹里。

17/3/29更新:
今天使用IrfanView来批量转换图片,失败率好高(我也没能猜出来原因,搜也搜不到),卸载之。

而且有时候还有个问题,比如说一个文件夹里有多张图片,随便打开中间的一张,也可以在图片查看器内翻页,查看它前一张或后一张图片的。但是irfanview有时候不行,在有些文件夹里打开任意一张图,都不能前后翻页,而是提示已经到头。就像这个文件夹里只有这一张图一样。(我同样找出这个现象的原因,没发现出问题的文件夹的共同点)

不知道用什么好了。暂时换回faststone image viewer。

其实我还想试试acdsee的新版本,不过它体积太大了。刚才下了个9.0 pro,安装时竟然提示只支持32位系统……

17/4/6更新:

现在我又开始尝试蜂蜜浏览器(honeyview)。

不过它有已知的缺点:
1.没有树形结构的文件夹浏览器(问题不大)
2.它看图时始终没有滚动条。如果设定图片以100%大小显示,而且这个图片有部分超出屏幕了,由于不显示滚动条,所以我们得不到提示,只能自己注意。这个就有点坑了。
3.对图片的编辑功能较弱(问题不大)。

不过它也有不少优点,比如:

1.优雅的界面

2.可使用快捷键隐藏/显示UI,隐藏UI时图片周围只有窗口边框,体验很好。

3.转换/批量转换/另存图片 时,兼顾图片体积和质量,我对效果很满意。

4.切换图片功能和滚动图片功能一体化。如果图片大小超出了屏幕,使用上下左右方向键可以在四个方向上滚动查看图片。

这里也有一个细节。比如一张图片高度超出了屏幕,此时按向下键图片则会向下滚动。注意这时候我们按住方向键【不丢】使其不间断向下滚动。那么当图片滚动到底后,虽然向下键还是按下状态,但此时并不会向下切换图片。你想切换的话需要松开向下键,再按一次才会切换。这样就避免了“用户只是想滚动查看图片,结果一不小心滚到下一张图去了”的坑爹情况。(这个细节已经碾压了很多看图软件,更别说有的看图软件甚至不能用向下键来切换图片了)

ps:honeyview用滚轮操作超出屏幕的图片也是先滚动到底才向下切换。但是由于滚轮的触发事件不是持续性的,所以仍然容易不小心就切换过头,所以我推荐用方向键滚动。

ps:如果大图超出了屏幕,滚轮、方向键都用来滚动图片了,想马上切换图片怎么办呢?这时候可以使用PageDown、PageUp来立即切换图片。

5.支持不解压浏览ZIP、RAR和7z压缩包中的图片。

6.原生支持webp格式(当前很多看图软件还做不到)。

就我个人的使用情况而言,它似乎可以很好的满足我的需求了,用用看。(话说我还是想要个滚动条啊)


17/7/2更新:

今天用honeyview批量转图一直中途失败,无奈之下换用了faststone image viewer来转换。faststone image viewer转换图片的稳定性很好,我印象里就没有失败的情况。不过它转换后的画质差一些,所以jpeg质量要高一些,比如90。


以下是原文内容:

之前我一直用acdsee3.1看图,但这个版本是2002年的古董了,存在一些问题:一些gif图片看起来花屏;png不透明;只能同时打开一个图片。后来在7吧看到一个推荐看图软件的帖子,挑了些试试,后来用了XnView,感觉不错,估计以后会长期使用了。

下载地址点我
Read More →

XnView的设置