Firefox Aurora 15 中的调试器、响应式设计视图等

Firefox 15 现已在 Aurora 频道 发布,并为 Web 开发者带来了大量新功能和对内置工具的改进。

JavaScript 调试

Firefox 现在自带调试器(可通过“Web 开发者”菜单或使用 Ctrl-Shift-S/Cmd-Opt-S 快捷键访问)。使用此工具可以快速查找 JavaScript 代码中的问题。

快速到达源代码

打开调试器后,页面上的所有脚本都列在一个菜单中。使用搜索框,您可以通过输入文件名的一部分快速跳转到该文件。更棒的是,我们从 Sublime Text 获得了一些灵感:添加“: ”或“# ”可以立即跳转到文件的某个部分。例如,上面的截图来自 Backbone.js 版本的 TodoMVC 演示。输入“dovi”将跳转到“todoView.js”文件。“dovi:20”将跳转到第 20 行。“dovi#togglecom”将在文件中搜索“togglecom”。按 Enter 键转到下一个匹配项,您将大致位于截图中显示的位置。

当然,还有另外两种简单的方法可以到达您关心的源代码。一种是在 JavaScript 中添加“debugger”关键字。这是一个信号,表明从该行代码开始调试。另一种是使用“在异常时暂停”功能。如果您的代码遇到未处理的异常,您只需在工具栏中选中该框,调试器将在遇到异常时暂停。

查看您关心的源代码后,您可以在 JavaScript 源代码视图中单击行号左侧来设置断点。

调试器暂停脚本后

调试器暂停您的脚本后,堆栈帧将在左侧窗格中列出,范围内的变量将在右侧窗格中显示。工具栏具有标准的调试器控件集:恢复、单步执行、步入和步出。使用这些控件可以控制 JavaScript 代码的执行方式,以便您可以观察程序的运行情况。

逐步执行程序时,您会看到变量窗格中显示的变量随着其值变化而闪烁。您甚至可以通过单击值来更改变量的值。您为变量值输入的任何内容都将作为 JavaScript 代码进行评估,因此您可以输入[1,2,3,4]作为值,该变量将设置为一个数组。调试器还会告诉您该变量是否具有 属性描述符 来控制其行为。您可以在上面的截图中的工具提示中看到此信息。

幕后

这个新的调试器不仅仅是在 Firefox 的 JavaScript 引擎(SpiderMonkey)多年来为 Firebug 等工具提供的功能基础上添加了一个新的用户界面。SpiderMonkey 中的整个 调试接口 已完全重新设计。由于新的调试器后端,Web 开发者可以获得两大好处

  1. 速度快!使用调试器运行的 JavaScript 应用程序的运行速度几乎与没有调试器时一样快。
  2. 可远程访问!您可以将调试器用户界面连接到运行在其他位置的调试器后端。

上面的第二点非常令人兴奋,因为它意味着您将能够调试在 Firefox for AndroidFirefox OS 中运行的 JavaScript 代码,这一切都可以在您桌面或笔记本电脑上的 Firefox 上完成。

在以后的文章中,我们将向您展示如何做到这一点。

响应式设计视图

如今,强大的 Web 设备形状和尺寸各不相同,人们已转向 响应式 Web 设计 作为适应这些不同屏幕的一种方法。Firefox 中的新响应式设计视图使您可以轻松地调整正在查看的页面的大小。

显示 Twitter Bootstrap 的响应式设计视图

使用响应式设计视图,您无需不断地拿出手机查看设计效果,就可以对设计进行操作。而且,您可以在不缩小浏览器工具、工具栏和其他选项卡的情况下尝试设计。

Chris Heilmann 制作了一段 视频演示响应式设计视图(以及下面讨论的布局视图)的操作方式。

布局视图

自从 我们首次推出样式检查器 以来,就可以使用内置工具查看为某个节点设置的边距、填充和边框。但是,在设计布局时,将所有这些值集中在一个视图中会非常有用。现在,该视图已作为样式检查器的一部分提供。

默认情况下,布局视图折叠为单行,显示元素的大小。单击三角形以查看整个视图,该视图将显示外部的边距、边框宽度以及盒子内部的填充。

其他改进

自从页面检查器几个月前推出以来,我们收到了很多反馈。许多人喜欢它突出显示您正在操作的元素的吸引人的方式。另一方面,有时您需要将工具移开,以便您只看到用户看到的页面。现在,可以使用工具栏上的新选项菜单轻松关闭这种花哨的突出显示行为

最后,Web 控制台 的性能有了大幅提升。无论您是否打开了 Web 控制台,现在每次调用 console.log() 都会快得多。试试看吧!

了解详情

我们还有更多功能正在开发中,并且还计划在将来推出更多功能。我们将在 Hacks 上通知您有关发布的信息,但如果您有兴趣分享您的意见或参与代码开发,您可以直接与开发人员联系。查看我们的 参与 页面,了解可用的部分联系方式。

关于 kdangoor

更多 kdangoor 的文章…


23 则评论

  1. 13xforever

    Windows 上的调试器热键为 Ctrl-Shift-S

    2012 年 7 月 6 日 下午 06:17

    1. Kevin Dangoor

      哎呀!我已经在文章中修复了这个问题。谢谢!

      2012 年 7 月 6 日 下午 06:38

  2. Martin

    找不到 Twitter 按钮…

    2012 年 7 月 6 日 下午 13:35

  3. Hossein zolfi

    感谢 Kevin 介绍这些很棒的功能。
    有很多改进,感谢所有贡献者。

    2012 年 7 月 6 日 下午 14:23

  4. Jason Lotito

    太好了!一个原生的 JS 调试器!非常感谢 Dev Tools 团队!

    2012 年 7 月 7 日 上午 07:01

  5. WebUser

    做得很好!现在我正在等待 Web 存储、IndexedDB 和离线缓存检查器。

    2012 年 7 月 7 日 上午 08:30

  6. Usef

    正在取得的进步真是太棒了,谢谢各位!现在对我来说最缺少的功能是从检查器编辑 DOM/innerHTML 的能力。

    2012 年 7 月 8 日 上午 05:38

  7. Kris

    终于有一个原生的调试器了!

    它可以调试插件和扩展程序吗?这将非常有用。

    2012 年 7 月 10 日 上午 02:20

    1. Kalle

      是吗?

      2012 年 12 月 2 日 上午 09:06

    2. Kevin Dangoor

      如果您在 about:config 中将 devtools.chrome.enabled 设置为 true,则可以从今天开始使用 Scratchpad 来帮助开发附加组件。在 Firefox 19+ 中,有一个浏览器调试器,可让您在浏览器 chrome 的上下文中进行调试。

      2012 年 12 月 3 日 上午 06:14

      1. Kalle

        谢谢,我会尝试一下。我一直以为 Mozilla 只是重新发明了轮子,而不是真的需要的东西(在 Venkman 开发停止后)。

        2012 年 12 月 3 日 上午 10:40

  8. Jeff Schwartz

    看起来很棒。迫不及待地想试用一下。

    2012 年 7 月 10 日 上午 06:23

  9. Gregor

    响应式设计和布局视图对前端来说将是一个巨大的帮助 - 非常棒的内置功能!但是,JavaScript 调试器似乎对我来说不起作用。当我尝试打开它时,会看到应该出现的位置闪烁一下白色,然后什么也没有发生。

    2012 年 7 月 11 日 上午 08:40

    1. Kevin Dangoor

      请提交一个错误报告,并尽可能提供更多信息以帮助重现问题(例如,您安装的附加组件)。

      https://bugzilla.mozilla.org/

      2012 年 7 月 12 日 上午 00:35

    2. Ed S

      Gregor,

      我遇到了同样的问题。禁用 Page Speed 1.12.9 为我解决了问题。

      2012 年 8 月 28 日 上午 11:18

  10. Hossein zolfi

    Firebug 的未来是什么?它会成为 Firebug 的终结者吗?我不知道 Firebug 会怎么样。

    2012 年 7 月 11 日 下午 13:36

    1. Kevin Dangoor

      Firebug 仍然运行良好。请关注即将发布的 1.10 版本,其中包含一些很棒的新功能。未来的版本将利用现在 SpiderMonkey 中可用的新调试器后端。

      2012 年 7 月 12 日 上午 00:32

      1. Keith

        实际上,我希望有人能对这两个进行并排比较,显示一个可以做而另一个不能做的事情。如果能比较他们都能做的事情的细节和性能,那就更好了。

        2012 年 8 月 28 日 下午 1:47

  11. Bastian

    我非常期待这个调试器(和其他的原生开发者工具一样)……不知为何 Firebug(通常来说很棒)在使用 js 调试器(FF 14 + Linux)时会占用 100% 的 CPU 资源。这让我很抓狂,也迫使我去使用原生工具。我们拭目以待吧。

    2012 年 8 月 11 日 下午 12:53

  12. Marc

    如果你不能在独立窗口中打开它,那它就毫无用处。

    2012 年 10 月 9 日 上午 10:09

    1. Kevin Dangoor

      我个人不会说它“毫无用处”,但我确实知道很多人希望能在一个独立的窗口中使用这些工具。这项工作正在进行中!

      http://paulrouget.com/e/devtools-toolbox/

      2012 年 10 月 9 日 上午 11:09

  13. mark

    我喜欢新的网页开发者工具栏。我尝试过使用原生 JS 调试器,但它似乎没有一个监视窗口,让我添加变量进行监视。可能是我漏掉了什么,但如果没有这个功能,我将不得不继续使用 Firebug。

    2012 年 10 月 13 日 上午 7:03

    1. Kevin Dangoor

      监视器还没有实现。但它绝对在待办事项清单上!

      2012 年 10 月 14 日 上午 9:11

本文评论已关闭。