FirePhp与FireBug 1.12.0配合得好吗


Does FirePhp work well with FireBug 1.12.0?

早在昨天,我就在项目中使用了firephp。

在我将Firefox升级到23.0.1版本后,FireBug扩展自动升级到1.12.0版本,我发现firephp没有在控制台中显示详细数据。

它仍然显示了简短的数据。我无法展开它看细节。

我猜firebug改变了数据结构,firephp需要升级。

如果你是不耐烦的类型,你可以自己快速解决。

  • 使用您喜爱的归档文件/zip管理器打开FireBug xpi文件。对于linux用户,您应该在这里找到文件:

    ~/.mozilla/ffirefox/[unique id].default/extensions/firebug@software.joehewitt.com.xpi

  • 导航到归档文件/zip管理器中的/content/firebug/console/并打开consolePanel.js

  • 转到911(对于小版本的修订,这可能略有不同)。它应该是这样的:

    this.filterMatchSet.push(group);
    
  • 在那行之前加上这个:

    if (typeof this.filterMatchSet == 'undefined')
    {
        this.filterMatchSet = [];
    }
    
  • 将更改保存到存档并重新启动FireFox

Firefox 23.0.1+Firebug 1.12.0+FirePHP 0.7.2-相同的版本集和相同的问题。。。我查看了FirePHP论坛,有一个关于这个问题的话题。附加组件作者在那里写道

我休假回来后,会在九月初去看一看。感谢您报道此问题。

所以我希望这个问题能在几周内得到解决

firePHP的这个问题似乎不会很快得到解决,firebug已经再次更新。Tom的答案确实有效,但由于他只指定了一个行号,该部分在新版本的firebug中不起作用,因为行号与旧版本不一致,因此以下是如何找到插入Tom代码的正确位置:

按照汤姆的回答:https://stackoverflow.com/a/18530316/769294

然后,当你打开consolePanel.js时,你想找到这个函数:

filterLogRow: function(logRow, scrolledToBottom)
{
    if (this.matchesFilter(logRow))
    {
        // Mark the groups, in which the log row is located, also as matched
        for (var group = Dom.getAncestorByClass(logRow, "logRow-group"); group;
            group = Dom.getAncestorByClass(group.parentNode, "logRow-group"))
        {
            Css.setClass(group, "contentMatchesFilter");
            // #################################################################
            // Add This line here
            // #################################################################
            if (typeof this.filterMatchSet == 'undefined') { this.filterMatchSet = []; }
            // #################################################################
            this.filterMatchSet.push(group);
        }
    }
    .......
},

正如你所看到的,我在你需要添加的行周围添加了一些评论(根据汤姆的回答),你可以看到它需要去哪里。

希望这能在不久的将来帮助firebug的所有更新,直到firePHP被修复。:)

该问题已通过Firebug 1.12.3修复。