chrome插件 如何页面的数据对象?(包含funciton)

发布于 2022-09-12 00:06:51 字数 374 浏览 16 评论 0

现在有个场景,使用chrome插件处理页面的数据。
数据无法使用JSON序列化。
数据对象类似:

var a = {
    b: '123456',
    c: 123456,
    d: [1, 2, 3, 4, 5, 6],
    e: function(f, g) {
        return { h: f + g }
    }
}

已测试过window.postMessage, new CustomEvent()这些方式,
都有个问题,就是无法处理funciton

请问什么方法可以解决,只要chrome插件能拿到到数据对象就行。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浅浅 2022-09-19 00:06:51

先转成JSON,没太明白楼主的场景。

   var a = {
       b: '123456',
       c: 123456,
       d: [1, 2, 3, 4, 5, 6],
       e: function(f, g) {
           return { h: f + g }
       }
   }

   function objJson_deep (o) {
       var a_copy = {}
       Object.keys(o).forEach(k => {
           if (Object.prototype.toString.call(o[k]) == '[object Object]') {
               a_copy[k] = objJson_deep(o[k]);
           }
           if (typeof a[k] == 'function') {
               a_copy[k] = o[k].toLocaleString()
           } else {
               a_copy[k] = o[k]
           }
       })
       return JSON.stringify(a_copy)
   }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文