分类 默认分类 下的文章

NCR 访问 google.com 而不是 google.com.hk

为了搜个英文材料, google 总是自动跳转到 google.com.hk 即使点了右下角的 使用 google.com 仍旧跳转到 hk. 登录 google 帐号, 也不可以, 使用代理也不可以.

搜了一下, 如果访问 http://www.google.com/ncr 就能访问 google.com 的服务了.
据说这个 NCR 是 No Country Redirect 的意思.

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_USER\Control Panel\Input Method\Hot Keys\00000011
  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')[

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

网站测速 在线工具

有时候为了优化网站, 有时候为了测试一下网站在全国的访问速度, 需要这种专业的测试工具, 常用的有:

  1. 阿里测 [http://alibench.com/][1]
  2. 奇云测 [http://ce.cloud.360.cn/][2]

只可惜, 我的路由器经不起这么多的站点同时测试, nginx 很容易100% CPU.
[1]: http://alibench.com/
[2]: http://ce.cloud.360.cn/