- 主题:浏览器插件能否获取页面所有信息
公司的系统,用户有时会报各种故障,沟通起来很费力。我想能不能做一个浏览器插件,比如chrome的插件。用户按一下按钮,就可以把故障页面截屏,并把页面url、html、js等内容打包发给运维人员,运维人员可以快速重现问题。
截图应该没问题,获取页面url,html,js文件应该也没有问题吧。但是如果我想把当前页面里的各个js对象值也存下来,有办法办到吗?
--
FROM 101.80.27.*
js的报错可以收集并上报啊。写个js包通过script插入网页就行了。
--
FROM 124.126.163.*
你需要一个错误跟踪库
https://github.com/BetterJS/badjs-report
原理并不复杂,全局加个try catch,然后把这些错误信息提交到服务器
【 在 storespace 的大作中提到: 】
: 公司的系统,用户有时会报各种故障,沟通起来很费力。我想能不能做一个浏览器插件,比如chrome的插件。用户按一下按钮,就可以把故障页面截屏,并把页面url、html、js等内容打包发给运维人员,运维人员可以快速重现问题。
: 截图应该没问题,获取页面url,html,js文件应该也没有问题吧。但是如果我想把当前页面里的各个js对象值也存下来,有办法办到吗?
--
FROM 114.243.216.*
谢谢提供思路。
不过有的时候并不一定在js层面会有exception。而且这些exception转化成运维人员能懂的意义也有很大工作量,历史系统不太可能做这些修改。所以想从浏览器插件层面做一个整体的考虑。
可能想把所有js对象值存下来确实有难度。
1.不知道插件有没有办法遍历页面变量
2.不知道插件能否访问页面变量
【 在 pigtracer 的大作中提到: 】
: 你需要一个错误跟踪库
:
https://github.com/BetterJS/badjs-report: 原理并不复杂,全局加个try catch,然后把这些错误信息提交到服务器
: ...................
--
FROM 36.17.171.*
或者有一个新思路,基于浏览器插件,能不能实现远程桌面,运维、开发人员可以直接远程访问用户的浏览器,甚至操作系统

--
FROM 36.17.171.*
插件不太了解,不过从安全机制来说,你这个可能性微乎其微。
【 在 storespace 的大作中提到: 】
: 或者有一个新思路,基于浏览器插件,能不能实现远程桌面,运维、开发人员可以直接远程访问用户的浏览器,甚至操作系统
--
FROM 115.198.154.*
可以远程桌面就行了,运维人员直接远程桌面到故障现场
【 在 storespace 的大作中提到: 】
: 公司的系统,用户有时会报各种故障,沟通起来很费力。我想能不能做一个浏览器插件,比如chrome的插件。用户按一下按钮,就可以把故障页面截屏,并把页面url、html、js等内容打包发给运维人员,运维人员可以快速重现问题。
: 截图应该没问题,获取页面url,html,js文件应该也没有问题吧。但是如果我想把当前页面里的各个js对象值也存下来,有办法办到吗?
--
FROM 61.148.60.*
首先,插件不能直接访问页面的window对象 (沙箱机制吧)
需要用修改dom让页面加载js的方式
让被加载js来获取js对象的信息。
(不过,基本上很多js对象是被隐藏到闭包了吧。)
被加载的js可以和插件互相通信。
详细参见 mdn
其次,技术上 参考一些调试工具应该可以实现。
比如老工具 weinre,
比如新一点的 chii (远程)和 eruda(本地)
【 在 storespace 的大作中提到: 】
: 公司的系统,用户有时会报各种故障,沟通起来很费力。我想能不能做一个浏览器插件,比如chrome的插件。用户按一下按钮,就可以把故障页面截屏,并把页面url、html、js等内容打包发给运维人员,运维人员可以快速重现问题。
: 截图应该没问题,获取页面url,html,js文件应该也没有问题吧。但是如果我想把当前页面里的各个js对象值也存下来,有办法办到吗?
--
FROM 120.85.149.*
至于能否达到业务需求,又有性价比
那还要琢磨琢磨。
【 在 alanju 的大作中提到: 】
: 首先,插件不能直接访问页面的window对象 (沙箱机制吧)
: 需要用修改dom让页面加载js的方式
: 让被加载js来获取js对象的信息。
: ...................
--
FROM 120.85.149.*