最近在使用谷歌浏览器的时候遇到了自定义协议(PROTOCOL)的问题,比较折腾,特此记录,希望我浪费生命换来的结果能够帮助读到此文的朋友少浪费一点宝贵的时间!
由于某些原因,电脑里一直没有安装阿里旺旺,今天由于买一个东西需要和卖家沟通,就安装了一下。结果发现在网页上点击旺旺小图标不会打开旺旺软件,折腾正式开始!
由于打开了很多网页,也没立即重启Chrome测试,好半天终于把所有的网页都处理掉了,关掉Chrome再打开,还是不行!
重启电脑,再打开,还是不行!然后用IE测试了一下发现是正常的,坚决怀疑是Chrome的问题!
想到最近刚把Chrome升级到x64版本,怀疑是这个问题,于是下载安装x86版本的Chrome,还是不行!
这下真没招了,只好上网搜搜类似的问题,还真有人提供了解决方案,说打开“%USERPROFILE%AppDataLocalGoogleChromeUser DataLocal State”这个文件,找到里面的protocol_handler节点下的excluded_schemes,把对应协议的值由true改为false即可!有点小激动,确实找到了这个文件,但发现excluded_schemes下并没有旺旺的PROTOCOL,于是手动添加了一个"aliim":false,启动Chrome测试,还是不行!
到这儿真有点崩溃了!Chrome在自定义协议处理这块还没完善,应该是之前哪一次,弹出那个是否要打开旺旺协议对话框的时候,点了不要打开,而且手贱点了记住选择,居然设置里就不能取消这个记住的选择了!无语!
最终还是不死心,想想这肯定是Chrome设置的问题,于是到“%USERPROFILE%AppDataLocalGoogleChromeUser Data”目录中grep aliim,果然,搜到了一个关键的文件:DefaultPreferences!果断用notepad++打开,找到protocol_handler节点下的excluded_schemes子节点,发现结构和Local State 文件一样,而且关键是这里有"aliim": true!改为false,启动Chrome,果然正常了!
猜测原来这个设置应该是在Local State 文件中的,但不知道Google为什么把它移动到Preferences文件里了,百思不得其姐!