舞影凌风's Picture

舞影凌风

26 posts

Javascript 判断是否在内网

开发公司内部的应用的时候经常需要判断是否在内网,通过判断 wifi名称或者内网 IP都比较麻烦而且变动较大,通过访问内网资源来判断是目前看来最佳的方案。 因为浏览器有禁止跨域的限制,所以我们采用 jsonp 来请求,网址不支持跨域 或者 jsonp 怎么办?没关系,只要能访问内网成功 complete 就会执行,不然会走超时的逻辑,我们就是通过这样来实现判断的,代码如下: $.ajax({ type: "GET", timeout : 3000, url: "http://home.mi.com", dataType: "jsonp", complete : function(XMLHttpRequest,status){ if(status==='timeout'){ alert("非内网"); } else { alert("内网"); } } });

阅读全文...

Android 适配18:9 全面屏黑边

在使用18:9等非传统16:9的手机面世后, 部分应用出现了上下黑边 正如小米mix2发布会所说,谷歌官方支持的默认高宽比就是16:9,所以在高宽比更高的手机上就只能显示16:9了,自如就出现大黑边了 解决方案 1. 设置 android:resizeableActivity # compileSdkVersion 需要设置为 24以上,不然报错 resizeableActivity 属性不存在 compileSdkVersion : 24 # application 设置 resizeableActivity 属性为 true <application ... android:resizeableActivity="true"> 这种方案会开启Android N分屏功能,所以需要适配下每个 Activity 自适应高度 2. 设置 meta-data:android.max_aspect # 设置最大高宽比为 2.1 <application

阅读全文...

评论组件畅言主题样式修改

随着多说、网易云跟帖的停止服务,要找一个合适的博客评论系统还真不容易,目前稍微好点的可能就畅言和友言了,实话说这两个的体验真不是很满意,所以就有了这篇文章,看看能不能想办法去自定义样式。 畅言官方提供了一些样式定制 http://changyan.sohu.com/help/a-custom-css-setting.html 不是太好改,整体上还是感觉不好,特别是侧边栏天天弹广告。 在浏览畅言官网的时候发现官网用的评论框和我们的不太一样,官网的效果明显更清新简洁 , 但是后台并没有提供配置这个主题的方法啊!! # 官网样式: # 目前样式: 经过一番分析发现初始化的 JS 代码是一样的,但是加载的样式结构和代码都完全不一样 # 官网结构: # 目前结构: 经过分析,一个获取配置的接口引起了我的注意: https://changyan.sohu.com/api/2/config/get/cyqARl5Jo?callback=changyan523657214 返回的内容如下: changyan523657214({"data":{"isv":{"id":"889","auditMode":"1"

阅读全文...

华为 P9/P9 Plus 获取root权限

准备 window 电脑一台 申请解锁 到 EMUI 官网 https://www.emui.com/cn/plugin/unlock/detail 输入手机信息申请解锁 输入正确资料后会提示 您的解锁码为:******** 下载 adb 工具包 http://dlc2.pconline.com.cn/filedown3590356968223/1UIwPc3e/adb1.0.32.zip) 按官网介绍的开始解锁 https://www.emui.com/cn/plugin/unlock/step 下载 root 工具 pan.baidu.com/s/1mi19eA0 密码:

阅读全文...

cannot synthesize weak property because the current deployment target does not support weak references

在用 pod 依赖 dsBridge 项目后报错如下: Error:(72, 13) cannot synthesize weak property because the current deployment target does not support weak references 猜测原因是dsBridge没有指定运行最低版本,导致不支持 weak 属性。 https://github.com/wendux/DSBridge-IOS/blob/master/dsBridge.podspec 解决方案: 在 Podfile 下面添加如下代码: post_install do |installer| installer.pods_project.targets.each do |target|

阅读全文...

iOS 学习笔记

0x1 安装 CocoaPods sudo gem sources -a https://ruby.taobao.org/ sudo gem sources -r https://rubygems.org/ sudo gem sources -l sudo gem update sudo gem install -n /usr/local/bin cocoapods -v 0.39 pod setup pod --version 执行 pod setup 特别耗时间,而且看不到进度,可以选择下面方式初始化: cd ~/.cocoapods/repos git

阅读全文...

Kotlin - by 关键字介绍

概述 Kotlin 中 by 关键字用来简化实现代理 (委托) 模式,不仅可以类代理,还可以代理类属性, 监听属性变化,下面我们来介绍by的几种主要使用场景: 类的代理 class 属性延迟加载 lazy 监听属性变化 Delegates.observable ( 扩展 Delegates.vetoable ) 自定义监听属性变化 ReadWriteProperty 属性非空强校验 Delegates.notNull() Map值 映射到类属性 map 类的代理(代理/委托模式) // 定义一个接口,和一个方法 show() interface Base { fun show() } // 定义类实现 Base 接口, 并实现 show 方法 open class BaseImpl : Base { override

阅读全文...

git 获取自己的提交历史

先把命令奉上: git config user.email | xargs -n1 -I {} git log --pretty=format:"%h - %an, %ar : %s" --since=2.weeks --no-merges --author={} 效果如下 (获取排除 merge 最近两周的提交记录): edbd9e5 - pengwei, 21 hours ago : 移除 fastjson 902ed84 - pengwei, 4 days ago : version 2.0.10 e5338cf - pengwei, 4 days ago

阅读全文...

charles替换远程 JS 文件

Charles 是一个特别优秀的代理工具,可以方便的实现本地文件代理,方便我们来调试远程的网址,下面就来介绍一下怎么配置 Charles 替换远程 JS。 启用 Tools > Map Local 如果不希望 webView 缓存网页的 JS,css 等,可以开启 Tools > No Cacheing, 这样每次都会重新请求这些资源。 添加规则 Add 我们以替换当前博客的某个 JS 文件为例,例如 http://apkfuns.com/assets/js/min/index.min.js?v=8478662b4d 我们该怎么写规则呢? * 是通配符, Local path 是映射到本地的 JS 文件路径,在原内容基础下增加了 alert,内容如下:

阅读全文...

Android - Kotlin 实践

语法糖 不用写分号 println("hello world") 变量 // 定义可变变量 var name: String = "hello world" // 定义不可变变量,相当于 Java -> final val useVal: Int = 1000 var tmpId = 1 //类型推导 三元运算符 // java int code = isSuccessfully? 200: 400; // kotlin int code = if(isSuccessfully) 200 else 400 import 别名 import cn.jasonmarzw.User as Person // 添加User别名为Person

阅读全文...