美文网首页
填坑之路(持续更新)

填坑之路(持续更新)

作者: revert | 来源:发表于2018-03-13 00:10 被阅读25次
  1. 文件名大小写问题

引用文件时,大小写输入错误,在windows环境下通常可以正常访问,但是安卓手机设备是linux系统,严格区分大小写,会出现错误,导致网站在手机上打不开,需要注意。

  1. 文件名和代码中广告关键字

有很多浏览器插件和手机软件会对广告关键词进行拦截,比如advertise advertisement AD ad,这样会导致各种问题,最近发现使用了以上关键字的css文件在加载时会被某些手机拦截(主要是oppo vivo)表示很无语,待验证。。。

  1. 结合flexible.js的rem布局样式错乱问题(待深入研究)

关于rem布局,淘宝的flexible.js有兼容性问题,而且,会偶现样式比例失调的原因,复现率很低。项目中样式有的采用rem布局,有的只是使用百分比布局,百分比布局的那一部分样式是正常的,所以怀疑是flexible.js的问题。页面加载flexible.js会在dom中添加额外属性 data-dpr="1" style="font-size: 37.5px;"怀疑是font-size计算错误。

  1. 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
  1. gitlab push失败

公司搭建了git服务器,从gitlab上clone代码后,push已有的项目一直不成功,在gitlab上设置推送字节大小仍然无法push,通过在本地命令行设置传输字节数后,成功推送,设置方法:
git config http.postBuffer 524288000

  1. 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()一定会失败。

  1. 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
  1. 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私钥名称也要正确,不然会对自己的权限产生怀疑~~~

  1. 设置了ssh免密登录服务器后,如何再次使用密码登录

先说一下我遇到的场景:

公司运维大哥给对应的开发分配了各自的用户分区,我是萌新(personA),在另一个小姐姐(personB)的指导下学习,她在自己的personB分区演示登录、开发的操作,我也在自己的电脑上用她的账号练习,后来我就用自己的账号了。
我觉得每次都要输入密码很麻烦,就google查了一下配置了ssh免密登录,成功之后登录personA分区很爽,不用输密码了,但是我还想用小姐姐的账号登录她的personB分区看看我俩有什么不同,结果,提示权限有问题,原因就是我本地的私钥在personB分区没有对应的公钥,我对personB的权限还不够,没法配置authorized_keys文件,尴尬了,怎么用密码登录呢?

接着我就查了免密后如何强制使用密码登录
方法就是修改服务器的配置/etc/ssh/sshd_config,这个不是重点,这个是针对所有用户的,我也没有权限,略过。

然后就有一个哥们的帖子说把我personA下的authorized_keys里面对应的公钥注释掉,然后我就信了,注释掉了,然后,我ssh 登录,悲剧了!

并没有提示我输入密码,而是说我没有权限被拒绝了,妈蛋,我也登不上了,赶紧去别人的机器上把注释打开,气死我了,这怎么行!

虽然这哥们坑了我,但是还是给了我思路的,那就是对本地的私钥做手脚,事实证明这才是正解:

因为我本地配置了多个ssh key,我把~/.ssh/config里面对应的私钥注释掉就可以了,再次登录就提示输入密码了,如果只有一个秘钥对,可以删掉私钥,这个我没有试过,但是理论可行。

又解决了一块无关紧要的心病~~~

  1. 小程序坑

  • 背景图片
    小程序开发过程中使用背景图片和H5开发有差异,不支持相对路径的图片,只能用网络图片
  • 点击事件
    小程序自定义组件添加bindtap="onClick"点击事件时,要用双引号“”,不然开发者工具可以响应,真机(ios/android)会报错
  • 下拉刷新
    下拉刷新必须主动用wx.stopPullDownRefresh控制刷新结束动作,否则ios上会认为一直在刷新中,再次下拉不执行onPullDownRefresh内的方法
  1. iOS横竖屏切换字体大小改变

rem布局的html页面,font-size已经设置为固定值px,在iOS设备上,竖屏切换为横屏字体会变大,并且切换为横屏后,字体并没有恢复原来的值。此时需要用一个试验中的属性text-size-adjust的值为100%,这样横屏的时候字体就不会变大了。

  1. 人民币符号¥在华为某些低版本系统的手机上无法显示

出现问题的手机为:华为mate7 ,系统版本:Android 4.4.2
尝试过 &yen,依然无法显示,网上复制其他字体可能会显示,但是为Ұ, 最终通过修改 font-family 属性解决:
css设置字体属性 font-family: "Arial","sans-serif";
厉害了,大华为

相关文章

  • 填坑之路(持续更新)

    文件名大小写问题 引用文件时,大小写输入错误,在windows环境下通常可以正常访问,但是安卓手机设备是linux...

  • React Native 填坑大全(持续更新)

    1、引入mobx,支持ES7 decorator的报错问题 2、使用导航栏组件react-navigation,s...

  • 填坑之路

    总有一点东西,用一次查一次,查一次忘一次 IE 11不兼容VUE Babel 默认只转换新的 JavaScript...

  • android8.0之程序员开发时的填坑经历

    填坑一: 实现手动更新apk时的填坑历程,两个步骤: 步骤1)读写权限申请: 从Android6.0开始,在更新a...

  • ionic1-angular填坑(持续更新)

    由于浏览器都有同源加载策略,不能加载不同域下的文件、也不能使用不合要求的协议比如file进行访问。 在angula...

  • 填AppStore被拒的坑(持续更新)

    目录 序 解决方案中心查看方式 被拒原因及解决方式 首先,这是 App Store 审核指南,多关注关注还是挺好的...

  • ReactNative填坑之路

    一.ViewPagerAndroid之坑 举个栗子, 然而在HotSaleLis这个Component里面就不能超...

  • 填坑之路:JSTL

    一、什么是JSTL JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能,它是apa...

  • idea 填坑之路

    1、jdk与jetty有版本匹配的问题,如果版本不匹配会出现不能识别jsp的错误。 jdk1.8匹配的jett...

  • 填坑之路漫长

    最近怎么说呢,大家都感觉要凉凉了。哪里都是个坑,只不过从这个坑里跳到了另外一个坑里。 好好的填坑,才是自己该做的。...

网友评论

      本文标题:填坑之路(持续更新)

      本文链接:https://www.haomeiwen.com/subject/xejifftx.html