-
文件名大小写问题
引用文件时,大小写输入错误,在windows环境下通常可以正常访问,但是安卓手机设备是linux系统,严格区分大小写,会出现错误,导致网站在手机上打不开,需要注意。
-
文件名和代码中广告关键字
有很多浏览器插件和手机软件会对广告关键词进行拦截,比如advertise advertisement AD ad,这样会导致各种问题,最近发现使用了以上关键字的css文件在加载时会被某些手机拦截(主要是oppo vivo)表示很无语,待验证。。。
-
结合flexible.js的rem布局样式错乱问题(待深入研究)
关于rem布局,淘宝的flexible.js有兼容性问题,而且,会偶现样式比例失调的原因,复现率很低。项目中样式有的采用rem布局,有的只是使用百分比布局,百分比布局的那一部分样式是正常的,所以怀疑是flexible.js的问题。页面加载flexible.js会在dom中添加额外属性 data-dpr="1" style="font-size: 37.5px;"
怀疑是font-size计算错误。
-
ionic build android常见错误
ionic build android 时,经常会遇到Error: spawn EACCES,Google后解决方案通常 执行 ionic hooks add
,或者修改hooks文件夹的权限, for me ,没有解决,最终方案 为修改gradle权限 (注意替换xxx为版本号)
sudo chmod 755 /Applications/Android\ Studio.app/Contents/gradle/gradle-XXX/bin/gradle
-
gitlab push失败
公司搭建了git服务器,从gitlab上clone代码后,push已有的项目一直不成功,在gitlab上设置推送字节大小仍然无法push,通过在本地命令行设置传输字节数后,成功推送,设置方法:
git config http.postBuffer 524288000
-
localStorage在iOS上的表现异常
webapp在iOS手机上存在localstorage 丢失的情况,可能情况有以下两种:
(1)、手机内存不足,而程序又比较占内存,当手机退到后台一段时间,系统会清理掉本地缓存,释放内存空间。
(2)、当调用localstorage.setItem时,会产生QUOTA_EXCEEDED_REE错误。
对于第一种情况,可以考虑使用SQLlite,或则通过js调用原生的存储机制,保证持久化存储,第二种情况现有解决方案为 在serItem()之前需要先使用removeItem()清除相应键值,自己实现存储方法:
function setkey(key, val){
sessionStorage.removeItem(key);
sessionStorage.setItem(key, val);
}
或者设置-Safari 中关掉“隐私浏览”,因为用户设置了“秘密浏览”/“隐私浏览”,setItem()一定会失败。
-
this在node环境和浏览器环境下的不同
var name = 'Bryce';
console.log(this.name);
上面这段代码在浏览器环境打印 Bryce,在node环境下是undefined!
原因是node环境下,直接使用this,指向的是exports对象,也就是说console.log(this===exports) 结果为true,而在非严格模式的函数中this才会指向global全局对象,下面的例子可以验证:
function test(){
console.log(this===global);
}
console.log(this===global); //false
console.log(this===exports); //true
test(); //true
严格模式下函数内的this又会表现的不同,this===undefined
function test(){
'use strict'
console.log(this);
}
test(); //undefined
-
git 多个sshkey配置注意事项
git ssh方式,方便快捷,不需要手动输入身份,安全可靠。
同一台电脑会遇到同时存在多个私钥的情形,比如个人在GitHub上配置了一个公钥,在公司gitlab上也配置了公钥,就需要在.ssh/下面创建一个config文件来指明每个私钥对应的仓库,例如:
# gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
这里需要注意,域名一定要正确,通常公司gitlab仓库都有自己的域名,直接使用gitlab.com 会提示 permission denied,还有对应的rsa私钥名称也要正确,不然会对自己的权限产生怀疑~~~
-
设置了ssh免密登录服务器后,如何再次使用密码登录
先说一下我遇到的场景:
公司运维大哥给对应的开发分配了各自的用户分区,我是萌新(personA),在另一个小姐姐(personB)的指导下学习,她在自己的personB分区演示登录、开发的操作,我也在自己的电脑上用她的账号练习,后来我就用自己的账号了。
我觉得每次都要输入密码很麻烦,就google查了一下配置了ssh免密登录,成功之后登录personA分区很爽,不用输密码了,但是我还想用小姐姐的账号登录她的personB分区看看我俩有什么不同,结果,提示权限有问题,原因就是我本地的私钥在personB分区没有对应的公钥,我对personB的权限还不够,没法配置authorized_keys文件,尴尬了,怎么用密码登录呢?
接着我就查了免密后如何强制使用密码登录
方法就是修改服务器的配置/etc/ssh/sshd_config,这个不是重点,这个是针对所有用户的,我也没有权限,略过。
然后就有一个哥们的帖子说把我personA下的authorized_keys里面对应的公钥注释掉,然后我就信了,注释掉了,然后,我ssh 登录,悲剧了!
并没有提示我输入密码,而是说我没有权限被拒绝了,妈蛋,我也登不上了,赶紧去别人的机器上把注释打开,气死我了,这怎么行!
虽然这哥们坑了我,但是还是给了我思路的,那就是对本地的私钥做手脚,事实证明这才是正解:
因为我本地配置了多个ssh key,我把~/.ssh/config里面对应的私钥注释掉就可以了,再次登录就提示输入密码了,如果只有一个秘钥对,可以删掉私钥,这个我没有试过,但是理论可行。
又解决了一块无关紧要的心病~~~
-
小程序坑
-
背景图片
小程序开发过程中使用背景图片和H5开发有差异,不支持相对路径的图片,只能用网络图片 -
点击事件
小程序自定义组件添加bindtap="onClick"
点击事件时,要用双引号“”,不然开发者工具可以响应,真机(ios/android)会报错 -
下拉刷新
下拉刷新必须主动用wx.stopPullDownRefresh
控制刷新结束动作,否则ios上会认为一直在刷新中,再次下拉不执行onPullDownRefresh
内的方法
-
iOS横竖屏切换字体大小改变
rem布局的html页面,font-size
已经设置为固定值px,在iOS设备上,竖屏切换为横屏字体会变大,并且切换为横屏后,字体并没有恢复原来的值。此时需要用一个试验中的属性text-size-adjust
的值为100%,这样横屏的时候字体就不会变大了。
-
人民币符号¥在华为某些低版本系统的手机上无法显示
出现问题的手机为:华为mate7 ,系统版本:Android 4.4.2
尝试过 ¥
,依然无法显示,网上复制其他字体可能会显示,但是为Ұ
, 最终通过修改 font-family
属性解决:
css设置字体属性 font-family: "Arial","sans-serif";
厉害了,大华为