修复EditThisCookie在高版本Chrome中无法导入的问题

对编程不感兴趣的朋友可以尝试使用该工具:EditThisCookie生成json导入,也可直接翻到底部查看导入插件方法和下载已经修改好的插件导入。

图片或者文件失效请在置顶文章中找到邮件地址发邮件与我联系,谢谢。

其实发现这个问题很久了,一直没有在意,这两天有空就想着给处理一下,顺便试着写篇完整的博文。

首先去各种官方渠道看了下最新的版本

官方网站:http://www.editthiscookie.com/ (更新日志为1.4)

Github:https://github.com/ETCExtensions/Edit-This-Cookie/releases1.5.0 2018年11月29日 上午3:11)

Chrome网上应用店:https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg (1.5.0 更新于2018年11月30日)

都没有更新,那就自己动手丰衣足食吧。

1.定位问题

首先在插件上右键【审查弹出内容】

随便在某个网站导出一个Cookie然后原封不动的重新导入,在弹出的开发者工具可以很明显的看到报错:

2.寻找解决方案

直接复制报错内容在网上搜索,与https://stackoverflow.com/questions/60699502/chrome-extention-unchecked-runtime-lasterror-failed-to-parse-or-set-cookie-nam中找到了相关描述和解决方法:

意思是,Chrome修改了一些规则,以.开头的域名无法创建Cookie,解决方法很简单,将“domain”: “.bilibili.com”,中的点删除即可,即“domain”: “bilibili.com”,无论是记事本还是notepad++都行。

3.解决问题

每次导入导出都要替换,很麻烦,有没有办法一劳永逸的解决呢?

答案是有的,具体步骤:

1.在github上下载当前最新版1.5.0

2.解压,在其中搜索关键字“For format reference export cookies in JSON”;

3.在约313行处找到关键字,向下翻,来到约322行处

于后面加入代码

while(cJSON.domain.substring(0,1) === '.'){cJSON.domain = cJSON.domain.substr(1);}

并保存即可,代码原理为自动去掉domain中所有开头的.号,如下图:

最后,重新导入修改好的插件

在Chrome开发者中心(复制到新标签打开:chrome://extensions/)启用【开发者模式】,

并点击【加载已解压的扩展程序】选择刚刚解压的目录导入并启用即可,

这样就能正常使用了。当然,只修复了导入功能,导出分享的JSON给其他未修复的高版本浏览器依旧会发生该错误,不过对本人没有影响,先这样使用吧。

附已修改好的文件,下载解压进行最后一步即可。

分享文件:Edit-This-Cookie-1.5.0fix.zip

下载链接1 下载地址2(蜜马:feng00)

EditThisCookie配置json生成工具

原创文章,转载请注明地址!本文来源:https://www.fengletian.cn/archives/124.html