如何解决FeHelper不能自动格式化JSON

发布于 2020-04-20  3.19k 次阅读


本文于 2020年4月20日 8:35 更新,注意查看最新内容

前言

这插件在浏览器有一段时间了,最初用是为了设置页面编码,之后是用来截取网页长图,后来设置页面编码被砍掉了,截图网页长图也用浏览器内置命令替代,现在也就自动格式化JSON在用了吧,结果最近发现这个功能也存在异常 :eek:

解决

在说解决之前,我们先聊聊FeHelper的JSON自动格式化功能,其基本实现原理:页面加载完成后,获取页面的DOM结构,并逐个分析,获取文本内容,进行JSON格式判断并自动化。

但有个常识:如果一个URL的Response Content本意是JSON Text,那么其内容就不可能包含除了Pre之外的标签,比如link、script之类的。

另外,有的浏览器插件,会悄悄在DOM结构中插入自己的元素,比如增加一个script标签(content-scripts injected),这些话当然不是我说的,摘自作者的博客。

大概了解原理之后,我们开始排坑,看看是哪些插件与FeHelper存在冲突。

经过排查,我发现WappalyzerFatkun图片批量下载这两款插件,会在页面加载之后,插入一些自己的元素。

停用之后,JSON格式便可以正常自动格式化了。

但显然,这样的方法治标不治本,于是我联系了开发者,反馈了这个问题,但......我觉得这个问题一时半会解决不了,具体为什么我不说。

如果想不停用还能自动格式化,可以试试相关插件JSONView

参考

《FeHelper为什么JSON不能自动格式化了?》


这短短的一生,我们最终都会失去。