Saber 酱的抱枕

Fly me to the moon

05/15
2016
学习

原生js中的利器——querySelectorAll

昨天发表的那个网站地图助手里,有几个输入框都需要在鼠标经过时自动选中其中的内容。

实现起来没有难度,但类似于getElementBy...这样的选择器难以在不写重复代码的情况下选中几个不同id的元素。所以我的代码写成了这样:

document.getElementById("a").onmouseover=function (argument) {
    this.select();
}
document.getElementById("b").onmouseover=function (argument) {
    this.select();
}
document.getElementById("y").onmouseover=function (argument) {
    this.select();
}
document.getElementById("c").onmouseover=function (argument) {
    this.select();
}

感觉这样实在无法见人,于是去贴吧求助。终于知道了一个好办法:js现在有了一个原生的querySelectorAll方法,可以接受一组css选择器风格的字符串来作为选择器(这点和jQuery很像),如下:

document.querySelectorAll('#a,#b,#c,#y');

这样就解决了重复获取元素的问题了。querySelectorAll简直是一个福音啊。

querySelectorAll和querySelector是HTML5中新增的属性,但是IE8也支持。所以放心的用吧~

由于我们是无法对一个元素集合直接添加事件的,只能用循环来加了(所以jQuery用起来还是更方便啊)。使用for循环就可以,forEach也可以(使用forEach更有逼格?)。不过元素集合并不是数组,要使用forEach的话需要借用数组的属性。于是最后的代码如下:

function selectS(s){
    return document.querySelectorAll(s);
}
[].forEach.call(selectS('#a,#b,#c,#y'),function(e){
    e.onmouseover=function (argument) {
        this.select();
    }
});

原生js中的利器——querySelectorAll

05/14
2016
其他

不曾激起浪花的石子

南京 游行 学生 学校

这是一条短命的微博,我也并不知道事情的始末,只能从其他网友的评论中窥见一点碎片。

南京 游行 学生 学校

媒体只不过时政府的喉舌[doge]我们普通人所能知道的,只是我裆想让我们知道的[微笑]

恩,类似的还有:法律是给穷人制定的。

话说,在我国,游行需要政府事先批准的,不然就是违法。如果这些人最后平安回家去,大概还要感谢我裆不抓之恩。

不曾激起浪花的石子

05/13
2016
软件

我在sublime text 3里安装的插件以及一些技巧

sublime text 3 插件 技巧

以前我一直使用sublime text 2作为编辑器,直到3月份换成了Brackets。关于Brackets较为常用的优秀功能,及一些使用经验,我写了个文档,可以查看这里

但我渐渐发现Brackets的缺点也不少,今天下午卸载了它,转而使用sublime text 3。sublime text 3和sublime text 2有不少地方不一样,折腾了俩小时,记录一点经验。

1.我安装的插件:

名字					快捷键							说明
———————————————————————————————————————————————————————————————————————————————————
Alignment				Ctrl+Alt+A(我改为了ctrl+\) 		使代码中的等号自动对齐
AutoFileName			-								当你引用外部文件时,自动提示路径
BracketHighlighter		-								高亮括号配对
ChineseLocalization		-								菜单中文语言包
ColorPicker				ctrl+shift+c 					调色板
ConvertToUTF8			ctrl+shift+c(改ctrl+shift+alt+c)使sublime text支持其他编码,编辑时转换为utf-8,保存时仍保存成原编码
CSS Format				-							以多种风格来格式化css代码。在edit菜单里选择这个插件的功能。
Emmet 					tab或ctrl+e						不解释
JavaScript Completions	-								JavaScript的代码提示,很全面(sublime text自带了个SublimeCodeIntel,默认启用,有代码提示,但是不全面。使用插件最好同时启用SublimeCodeIntel。
jQuery					-								jQuery的代码提示。但是和上面的代码提示插件共存。
JsFormat				ctrl+alt+f 						格式化js代码,貌似只在.js文件中有用
LiveReload				-								在浏览器中热更新本机文件。
Package Control			-								管理插件
PyV8					-								Emmet依赖的库
SideBarEnhancements		-								扩充sidebar的右键菜单功能
SublimeLinter			-								提供jshint代码检测(需要安装nodejs才能用,所以禁用了。
SublimeTmpl				ctrl+alt+h/c/j/p 				建立指定文件类型的模板
SyncedSidebarBg			-								同步侧边栏颜色为主题颜色,不然真难看
Tag						ctrl+alt+f 						html代码格式化,选中代码后按快捷键使用
TrailingSpaces			-								显示和删除文档中多余的空格和制表符,安装后在“编辑”菜单中使用它

2.我的user设置:

{
	"color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme",
	"font_face": "Consolas",
	"font_size": 12,
	"ignored_packages":
	[
		"SublimeLinter",
		"Vintage"
	],
	"word_wrap": "true",
	"highlight_line": true,
	"save_on_focus_lost": true,
	"show_encoding": true,
	"scroll_past_end": false
}

ignored_packages的意思是忽略插件(禁用里面的插件)。

更多user设置项可参考此处,或参考这篇文章中的中文翻译。

3.我的自定义快捷键键设置(在Preferences=>Key Bindding - User里设置):

[
    { "keys": ["ctrl+\\"],	"command":	"alignment"	},
	{ "keys": ["ctrl+shift+alt+s"], "command": "save_all" },
	{ "keys": ["ctrl+shift+c"], "command": "open_in_browser" }
]

为某个命令指定快捷键。比如sublime text 3的“保存所有打开的文件”命令没有默认快捷键,得用鼠标在下拉菜单里点击,非常麻烦,所以可以设置一个快捷键。

如果要查找所有可使用的命令,可参考此处


其他内容:

1.sublime text 3常用快捷键参考此处

2.sublime text 3的配置文件夹路径:

win7及以上:

%userprofile%\AppData\Roaming\Sublime Text 3

xp则类似于下面:

C:\Documents and Settings\Administrator\Application Data\Sublime Text 3

如果要备份插件和设置的话,只备份这里就可以了。恢复的话也是恢复到这里。

3.打开方式的问题

如果你想通过右键的“打开方式”使某种类型的文件关联到sublime text 3,但是里面找不到sublime text 3的话,可以试试手动选择其exe文件。如果还不行,修改注册表

HKEY_CURRENT_USER\Software\Classes\Applications\Sublimetext.exe\shell\open\command

的值为sublime text 3程序的路径,如修改成:

"C:\Program Files\Sublime Text 3\sublime_text.exe" "%1"

之后在打开方式中就可以找到sublime text 3了。

也可以尝试删除此项,貌似也有同样的效果(这个办法我没试过

我在sublime text 3里安装的插件以及一些技巧

05/12
2016
学习 软件

PHPnow同一IP多端口配置

在PHPnow中,如果只有一个ip但是要建立多个网站,比较简单的办法是在站点根目录下分别建立文件夹,并将网站放进去。

但这样容易产生一些问题。如,本来站点根目录是127.0.0.1,然后我们为网站“pc”建立了一个“pc”文件夹存放网站,它的网址如下:

127.0.0.1/pc

网站程序安装在里面,必须在网站后台正确设置安装路径,否则后台会以为自己在站点根目录。例如pc的首页路径应该如下:

127.0.0.1/pc/index.html

如果不设置安装路径的话,后台会以为是这样:

127.0.0.1/index.html

所有涉及到路径的地方都会受到影响。

而且,即使我们正确设置了安装路径,如果网站以后要挪到其他地方去(例如上线),服务器上一般都不存在“安装路径”这个问题,到时候还得把相关设置去掉。这需要修改数据库中的多个地方,参考《 dedecms从数据库备份文件修改附件路径》。我不想一直这样下去,于是找到了同一ip中使用多端口配置多个网站的办法。
Read More →

PHPnow同一IP多端口配置

05/10
2016
ACG

空之境界 全剧场版 百度网盘下载

空之境界 空の境界 全剧场版 百度网盘下载

这两天想再看看《空の境界》,于是无耻的去找磁链了……然后补全、找字幕,弄完了一整套之后感觉不容易,于是分享出来。

百度网盘下载链接 提取码:m2ni

本资源包含空之境界全剧场版(含未来福音,无俯瞰风景3D),全部1080P+字幕。文件体积18.1GB。需要注意的是音乐文件夹里的音乐不全。
Read More →

空之境界 全剧场版 百度网盘下载

05/9
2016
游戏

剑侠情缘三玲珑密保卡 纯阳派

剑网三 剑侠情缘三 玲珑密保卡 纯阳

也许有人看到过我14年下半年发的一些剑网三的文章。那时候玩了俩月左右,到70级多点就不玩了。原因有二:
1.太过孤单
2.不喜欢战斗模式。这里只要不是远程,小怪打你的时候你必定会受伤(哪怕你在它上空,或离它丈远),小怪的攻击动作虽然打不到你,但还是会有伤害判定,很少能躲开攻击,更没有格挡功能。玩惯了动作游戏的我非常恶心这一点。

但是上周我又回来玩了,因为看到新出的轻功似乎很酷炫很牛逼,所以又心痒了。创建了个纯阳成女号,玩了两天升到30级,又感觉没意思了。(幸好前天晚上一个毒哥带我逛了些好地方,我发现还是有挺多好玩的地方的。有空了整理下图片发出来一些。

前几天买了个玲珑密保卡。使用它附带的激活码可以在游戏里获得两个挂件和一个大背包。
Read More →

剑侠情缘三玲珑密保卡 纯阳派

05/7
2016
其他

某种思考

咳咳这种东西当然是有讨论范围前提条件限制的。想来战的我是懒得战的。

(其实下面这个模型来自于某电脑电源讨论帖)
假设有一个设备,使用元件数量越多性能越好

A产品:垃圾性能,只用了10个元件,而且每个元件也是便宜货,每个元件故障率0.1%;
B产品:性能好,使用了100个元件,元件质量也比A好,每个元件故障率0.01%

结果:A产品正常率(理论)为0.990044880209748209880044990001
B产品为0.99004933869137081525350289844081
显然B的价格会非常高,而得到的性能和价格高的不成比例

某种思考