Saber 酱的抱枕

Fly me to the moon

02/20
2017
学习

url参数中特殊字符的转义处理

如果url中有特殊字符符号,可能会导致url不能被正确识别。

我们可以在传递参数前将url编码来解决这个问题。不过需要注意的是,有些字符在url中有独特的作用的(例如#表示锚点位置,&表示连接多个参数),所以JavaScript的encodeURI函数(意思是编码url)是不能编码这些有单独意义的字符的的。需要把它们也转码的话需要用encodeURIComponent函数(意思是编码url组件)。

下面直接列出一下有特殊含义的字符及其编码后的结果:

+    URL 中+号表示空格                                %2B
空格 URL中的空格可以用+号或者编码             %20
/   分隔目录和子目录                                     %2F
?    分隔实际的URL和参数                              %3
%    指定特殊字符                                         %25
#    表示书签                                                %23
&    URL 中指定的参数间的分隔符                  %26
=    URL 中指定参数的值                                %3D

url参数中特殊字符的转义处理

02/18
2017
其他

腾讯企业邮箱的POP、SMTP、IMAP协议服务器信息

腾讯企业邮箱的POP、SMTP、IMAP协议服务器信息

在某项目中要做一个发信机制,由于客户的邮箱是腾讯企业邮箱,所以我去搜了下腾讯企业邮箱的POP、SMTP、IMAP协议的服务器、端口号等信息。

国内:

POP3协议:
pop.exmail.qq.com 端口110 (SSL的端口号是995)

SMTP协议:
smtp.exmail.qq.com 端口25 (SSL的端口号是465)

IMAP协议:
imap.exmail.qq.com 端口143 (SSL的端口号是993)

海外:

POP3协议:
hwpop.exmail.qq.com 端口110 (SSL的端口号是995)

SMTP协议:
hwsmtp.exmail.qq.com 端口25 (SSL的端口号是465)

IMAP协议:
hwimap.exmail.qq.com 端口143 (SSL的端口号是993)

腾讯企业邮箱的POP、SMTP、IMAP协议服务器信息

02/17
2017
学习

移动设备触摸手势库——Hammer.JS

一直以来,JavaScript对于鼠标事件和触摸事件提供的支持都比较初级,此问题在pc端不是很明显,但是移动端的触摸手势就比较多样化了,为此我们有必要使用js库来帮助我们处理触摸事件。

Hammer.JS是一款轻量级的移动设备触摸手势库,不依赖其他js库,兼容性好(支持WP),支持常见的点击、拖动、缩放、旋转等触摸事件,也可支持多点触控。

Hammer.JS支持的六大事件:

移动设备触摸手势库——hammer.js

Hammer.JS支持在pc端浏览器上用鼠标模拟触摸事件,这样我们开发时可以在pc上进行测试,极大提高了开发效率(看它官网的描述,似乎是可以在pc上模拟出全部的6种动作。不过缩放和旋转我试不出来,按下shift模拟双指操作也没反应①)。

下面是一个左右滑动的示例:

var myElement =document.querySelector("#a");
var mc = new Hammer(myElement);
mc.on("swipeleft swiperight", function(ev) {
	if (ev.deltaTime>100) {	// 判断一下延迟时间,小于100ms的不处理
		if (ev.deltaX>0) {	//向右滑动,展示左侧内容
			// code
		}else if (ev.deltaX<0) {	//向左滑动,展示右侧内容
			// code
		}
	}
    console.log(ev);
});

hammer.js用起来还真是费了不少劲。

首先是它有好几个可以下载的地方,但不同的地方不但有的版本号不同,有些甚至完全不生效。我现在用的是https://hammerjs.github.io/dist/hammer.min.js。也可能是其他版本改了api?

第二是注意禁用浏览器自己的选择事件和拖动事件。

举个例子,网页中的图片是可以被拖动的。当你按下鼠标并移动来模拟滑动事件时,会发现图片变成了拖拽状态,这时候就触发不了hammer.js上绑定的事件了,所以要用css禁止拖动该元素。

拖动文字可能导致文字被选中,所以也要禁止选中该元素。

一开始我没发现这个事情,当我把可以正常使用的demo的代码移植到我的项目里之后,发现不生效,这让我郁闷了好久,最后琢磨出来是这个原因。

hammer.js会给直接绑定的元素自动增加禁止拖动和选择的属性,但如果该元素有子元素,则需要我们视情况对该处理的子元素进行处理。

hammer.js的使用说明也较少,所以有时候我们要输出ev来自己查看当前事件的一些属性。


参考资料1
移动端手势库hammerJS 2.0.4官方文档翻译


① 有资料说,pinch 和rotate 默认情况下是禁用的,因为他们会使元件闭锁(这里貌似是机翻),如有需要可以通过下面的方法调用:

hammertime.get('pinch').set({ enable: true });
hammertime.get('rotate').set({ enable: true });

不过我还没用到这个,没去试验。

移动设备触摸手势库——Hammer.JS

02/16
2017
学习

用PHP做一个设置网站副标题的接口

用PHP做一个设置网站副标题的接口 WordPress php 副标题 JavaScript aja mysql 数据库

WordPress设置网站副标题需要到后台的设置项里设置,操作起来太繁琐,于是我用php做了个设置网站副标题的接口。这个没什么技术含量,主要是熟悉下php对mysql数据库的基本操作流程。

首先是到数据库里找到网站副标题的字段:

用PHP做一个设置网站副标题的接口 WordPress php 副标题 JavaScript aja mysql 数据库

找到之后写出用于修改它的sql语句,如下:

UPDATE wp_options SET option_value = '大好き' WHERE option_name = 'blogdescription'

接下来做一个html文件和一个php文件,用html文件给php文件发送要设置的副标题,php接到请求后执行数据库操作。

功能做好之后,把html传到网站上,并保存成书签。以后想修改修改副标题只要打开这个书签,输入文字就可以了。
Read More →

用PHP做一个设置网站副标题的接口

02/16
2017
软件

我又感受到了谷人希的魅力

刚才修改一个网站,原本的网页编码是gb2312的,我使用一个编码转换器转换成utf-8时出了点问题,编码变成了这样:

<meta http-equiv="Content-Type" content="text/html"; charset=utf-8"gb2312" />

我直到修改完都没发现问题,后来同事的360浏览器上和搜狗浏览器上网页都是乱码,我才发现了这个问题。

看来chrome的容错能力也是非常强大啊。

我又感受到了谷人希的魅力

02/12
2017
软件

开机显示Window NT has found only 468K of low memory的解决办法

刚才同事的windows xp开机时出现问题,我过去一看,系统启动时失败,连开机画面都进不去,直接显示:

开机显示Window NT has found only 468K of low memory的解决办法 windows XP 不能启动

"Window NT has found only 468K of low memory,512K of low memory is required to run windows NT, You may need to upgrade you computer or run a configuration program provided by the manufacturer."

意思是说windows只找到了468K内存,但启动所需的最低内存为512K。

惊了,468K?不存在的。重启进BIOS看看,内存信息确实显示的是2G RAM啊。

之后我就到我的电脑上百度,结果又一次充分体会到用百度等于浪费时间谋财害命慢性自杀。尤其是百度知道,也有很多问这个问题的,点进去查看里面的回答,有说运行的软件太多导致内存不足的,有说要进安全模式的,有建议重装的(虽然重装确实能解决),有说把内存条换新的,还有“这情况个人建议你使用360安全卫士全面体检修复,然后再用它里边的优化加速功能优化一下,在开机启动里没必要的软件禁止开机启动就可以了”。(我想这可能需要你主子做个360 OS,不依赖win直接运行的)。这首哔————送给百度知道的各位智障。

后来换用谷歌,很快找到了正确的解决办法,竟然是修复系统引导……

开机显示Window NT has found only 468K of low memory的解决办法 windows XP 不能启动

修复完系统引导再重启电脑,一切正常了。知道真相的我眼泪流下来……
Read More →

开机显示Window NT has found only 468K of low memory的解决办法

02/9
2017
学习

封装document.querySelector和document.querySelectorAll方法

JavaScript原生的document.querySelector和document.querySelectorAll方法很好用,不过依旧摆脱不了原生方法名太长的麻烦。所以我们可以封装下,如:

function $(selector) {
  return document.querySelector(selector)
}

function $$(selector) {
  return Array.prototype.slice.call(document.querySelectorAll(selector))
}

这里用了$、$$作为方法名,分别对document.querySelector方法和document.querySelectorAll方法进行封装。

$方法返回单个元素(第一个符合的元素),$$以数组形式返回所有符合的元素(即使符合的元素只有一个)。

这样我们就可以方便的使用封装的方法来选择DOM元素了:

$("#div .class img")
$$("#div .class img")

不过如果$、$$的定义冲突了可能会出问题,所以如果页面上引用jQuery了的话,可以换个方法名。

ps:至于为什么方法名要用$和$$呢,并不是模仿jQuery,而是模仿chrome(至于chrome是不是模仿jQuery的方法名那我就不清楚了)。

chrome浏览器控制台里内置了封装好的$、$$方法,可以直接使用。(当然,如果$、$$的定义被页面上的代码覆盖了就不行了)

如图:

封装document.querySelector和document.querySelectorAll方法

封装document.querySelector和document.querySelectorAll方法

封装document.querySelector和document.querySelectorAll方法

02/7
2017
ACG

少女映画系列图包

福利 写真 套图 图包 H hentai 少女映画 资源 推荐 精品 百度网盘 下载

说起少女映画系列,老司机们应该都不陌生,我也就不多做介绍了。

之前每期我都会打包用度盘分享的,但是老是被爆。现在直接用网上的磁力资源吧(来自琉璃神社)。想看更新的话可以去琉璃神社看~

少女映画 60部
magnet:?xt=urn:btih:BBD0EAD36FC5937AEFEE0AC68D88B0D55BA8BD14

magnet:?xt=urn:btih:XPIOVU3PYWJXV37OBLDI3CFQ2VN2RPIU

两个磁链的内容都是一样的,下不动的开个迅雷会员。

在上面的磁链之后又出了一些图包,更新在下面。

【少女映畫】Serval 藪猫(Kemono Friends)
magnet:?xt=urn:btih:58BF9E30D9D81C925224A54A605B574C4293A663

[少女映畫] 泽村·斯潘塞·英梨梨
magnet:?xt=urn:btih:02C9893293A294E1E866A0B5C3F765746D5BAC1F

[少女映畫]时崎狂三-Chinese Dress
magnet:?xt=urn:btih:76e16cdff35e503d823681cd3ef806cdb30e216f

[少女映畫]清姬(老婆!)
magnet:?xt=urn:btih:D3C2675AB89E0D8A32127B9B8D46041FFDC4755B

【少女映畫】时崎狂三 睡衣
magnet:?xt=urn:btih:9AA61F934BAF0565DFC8FC667AF4F89EA598DD2F

【少女映畫】阴阳师–青行灯
magnet:?xt=urn:btih:B0E458D7DECBB4812BABDA427A2E80669FD49DC0

[少女映畫] 阿库娅
magnet:?xt=urn:btih:05C041D497C2293929249AE3EE46D095580C041F

[少女映画]阿斯托尔福水手服
magnet:?xt=urn:btih:2387EDFE65CC133C95D53A4E5282981D3BD87A7E

【少女映畫】狐妖小红娘-涂山红红
magnet:?xt=urn:btih:1B58F95AF0D3105BAA8C372CB3233AA82A6AD932

【少女映畫】罪恶王冠-楪祈 | Inori Yuzuriha
magnet:?xt=urn:btih:2f427c215035557119ab8fae781db0a15357abe9

【少女映畫】Saber 仙鹤礼服
magnet:?xt=urn:btih:9c64d792ade8e3c1f0bf8464fbed8d88a5a45913

[少女映畫] 謎のヒロインX (Fate Grand Order)
magnet:?xt=urn:btih:60D8A91E4E487BFAC398C10686A1B0A38A22A0D6

【少女映畫】Saber 蓝色礼服
magnet:?xt=urn:btih:HGIBUT7LG27ROBTLJESLJUR6BQFTWLHK

【少女映畫】D.VA战斗服
magnet:?xt=urn:btih:3LZM52IOUGKFTY6INQW32SMVFDQFN6MS

【少女映畫】saber黑色泳装(这个磁链不对)
magnet:?xt=urn:btih:5f821dd0164f38942517d4d449e6ffa4c5e5ef

【少女映畫】saber女仆装
magnet:?xt=urn:btih:C6ZPHL3EUWLONXMCB22Y6VL3NV3Q72FF

【少女映畫】阿蒂拉Altera
magnet:?xt=urn:btih:FNIWFUKGGK76UYMTPBJLTTFLR63B6MYQ

【少女映畫】冲田总司初始
magnet:?xt=urn:btih:IGBJ5C6OZC2KNDKYAU6Q7CRPHAYNAPHV

【少女映畫】冲田总司 Souji Okita
magnet:?xt=urn:btih:FEKE7WLUBHVLXITPOFSUXYUVUD2CX2H4

【少女映畫】玛修战斗服
magnet:?xt=urn:btih:2CU7K7RM4Y4D4CR4VCKMU7YGVEN7LEOF

【少女映畫】莫德雷德常服 Mordred
magnet:?xt=urn:btih:FFIXWK76E3XB2SLX3V3F3VC2KDDJWYSJ

[少女映畫] 華城綾女 cosplay(没有黄段子的无聊世界)
magnet:?xt=urn:btih:0523e1e372eb61537a527be72e019d3f2ca3ff3b

少女映画系列图包