分类 默认分类 下的文章

goagent 代理访问 https 网站 出现的问题

遇到2种问题

  1. 证书不正确的问题

如下图, 报告证书不正确, 这种直接 继续 就好了

请输入图片描述

虽然能继续, 可是还有可能出现页面全乱掉的问题, 如下图. 原因是 CSS/JS 文件在 CDN 或者其它域名上, 所以找到 "其它" 域名, 在另外的窗口打开, 同上, 也点击 继续, 再回到原来页面刷新, 页面就恢复了.

请输入图片描述

  1. 证书不信任的问题 Error Type: HSTS failure

如下图, 浏览器认为不是真正的网站, 直接Block 了. 

请输入图片描述

点击详情, 如下图. 竟然说 facebook 要 chrome block 的, 那么也可以认为这是 chrome 对某些网站做的优化.(可是 chrome 并没有 block google 的 https 网站). 

请输入图片描述

**如何化解?**

添加 goagent 的 CA 到系统信任的 CA 列表. 下图是我的 chrome 在 MAC 上面的操作. (chrome 是使用的系统根证书列表)
找到 chrome 设置, 然后是 https/SSL 管理证书
请输入图片描述
MAC 下自动打开 keychain, 导入证书到 system, 我这个截图有点问题, 实际是导入的 system 下面
请输入图片描述
导入的时候, 选择 always trust
请输入图片描述
导入之后, 重新打开这个证书, 点 Trust 下三角, 然后再次确认 always trust. 就可以了
请输入图片描述

Windows 下 终结 全角 半角 切换 问题

相信很多人都会遇到这个问题:
从来不会用到全角输入, 可是经常被切换到全角输入. 不经意的点到 shift + 空格, 就换全角了. 尤其这些在键盘飞奔的程序员.

一直用搜狗输入法, 看到搜狗输入法有很多快捷键, 包括我经常用, 却被搜狗占用的 Ctr + Shift + F. 总以为全角/半角 切换也是搜狗可以设置的. 不过从来没有找到过.

今天搜索终于找到, 原来这是 Windows 操作系统设置的快捷键, 可以通过修改注册表设置:
1) 打开 注册表编辑器: Ctr + R, 输入 regedit, 点 ok, 打开注册表编辑器;
2) 依次打开: HKEY_CURRENT_USERControl PanelInput MethodHot Keys00000011
3) 修改: Key Modifiers 为02 40 00 00
4) 修改: Virtual Key 为31 00 00 00

重启机器, 生效.

上面是设置 全角/半角 切换为键盘 右边的 Ctr + 1 . 我想你很少会用到的.
请输入图片描述
请输入图片描述


2天之后的更新

上面的注册表设置在刚设置的当天管用, 也许重启机器/重新登录之后 Ctrl + Space 又回来了, 检查注册表, 发现没有变化.
现在发现必须还要更改另外一个快捷键:
请输入图片描述
请输入图片描述
如上, 修改2个地方之后, 就可以了.

感谢原作者的这篇更详细的, 带有说明的帖子:
http://wenku.baidu.com/link?url=4nnou9r5MPacphPa8S6C189zzVWlFKhl5X5GI2-8UkvVTQANKuN2kc-4pztHanTwRUjw9FDqJCuL5BiwNeRPjApMIWkzomWfkJrOk6EcDWS
微软官方关于 中文输入法半角/全角 注册表键的说明

检查 jQuery 是否 load, 否则重新加载

刚才看到一个很好的 javascript 用来检测 jQuery 是否已经 load, 如果没有 load, 那么重新 load. 尤其是某些嵌入式的脚本, 它可能一开始并不知道这一页面有么有 load jQuery.

if(!window.jQuery)
{
   var script = document.createElement('script');
   script.type = "text/javascript";
   script.src = "path/to/jQuery";
   (document.getElementsByTagName('body')[0] || document.getElementsByTagName('head')[0]).appendChild(script);
}

window.jQuery 用来检测当前页面有么有 load jQuery.
document.getElementsByTagName('head')[0] 查看当前 DOM 是不是有 head 元素;
document.getElementsByTagName('body')[0] 查看当前 DOM 是不是有 body 元素;

如果找到(getElementsByTagName 会返回一个数组), 就追加到第一个元素的里面的最后面.