自定义firefoxconsole.log(用于我自己的原型)

customizing firefox console.log (for my own prototype)

本文关键字:自己的 原型 我自己 用于 firefoxconsole log 自定义      更新时间:2023-09-26

我正在编写一个(自由软件)应用程序(MELT监视器,在GNU/Linux/Debian/x86-64上),它嵌入了特定的web服务器。

有关血腥细节,请参阅此问题。如果感兴趣,请查看github上的commit 880419d370d749,然后构建它,运行./monimelt -Dweb,run -W localhost.localdomain:8086/并打开http://localhost.localdomain:8086/canvedit.html在您的Firefox中。FWIW我现在正在尝试使用画布。相关代码可能会出现在我的webroot/canvasedit.js中,但我还不知道该在那里编码什么

Firefox的版本是38或42。我不了解ConsoleAPI.js的所有细节,这可能与我的问题非常相关。

假设我有一个原型

var fooproto = {
  // perhaps adding a toString function is enough here?
  // I want to show num & sons
};

然后我用它做了一些物体:

var foo1 = Object();
foo1.num = 11;
foo1.__proto__ = fooproto;
var foo2 = Object();
foo2.num = 37;
foo2.sons = [foo1];
foo2.__proto__ = fooproto;

我想要

console.log("foo2=", foo2);

在控制台上显示类似foo2=Foo#37[Foo#11]的内容(如果可能,用斜体)

有没有办法改变fooproto以使其发挥作用?我猜想存在某种机制,因为console.log很好地显示了DOM对象。

这可能是一个被问了很多次的常见问题解答,但经过几分钟的搜索,我无法找到合适的搜索关键字。我不知道该用什么术语

我不是为Firefox开发的,如果你已经看到了,我很抱歉,但我偶然发现了这个:

  • MDN上的Web控制台中的自定义输出,特别是控制台API

似乎可以满足你的需求。