当Chrome打开一个新标签页时,是否可以自动打开其Javascript调试器?

7
Chrome可以在打开包含“debugger”关键字的页面时自动打开调试器吗?

3
我不同意,常见程序员软件工具的问题是允许的,这已经在常见问题解答中说明了。 - pimvdb
@Cole Johnson:嗯,既然我正在学习核心JavaScript并且必须使用嵌入在HTML页面中的JavaScript进行调试。我编写了一个Python脚本,将JS文件路径放到html页面的<script>标签的'src'属性中,然后使用Chrome加载页面,这样我就可以通过一个命令运行和调试我的新编写的JS脚本,但在最后一步,每次仍需要自己打开Chrome调试控制台,我只想让整个过程自动化。 - CarmeloS
3个回答

1

以前有一个命令行标志 --always-enable-devtools,现在似乎没有了。但是,您可以使用一个巧妙的技巧,尽管如果您不在OSX上,就必须稍微调整一下才能重现我正在做的事情。

我创建了两个shell脚本,'developer-chrome'和'debugger-chrome'。

'developer-chrome'是我希望始终观察的实例,而'debugger-chrome'将坐在我的第二个显示器上,这样我就可以看到控制台消息并在需要时触发'developer-chrome'。

'developer-chrome'

#!/bin/bash

export PROFILE=$HOME/develop-chromium-profile
export DISK_CACHEDIR=/tmp/develop-chromium-profile-cache
export DISK_CACHESIZE=0
export MEDIA_CACHESIZE=0
/Applications/Chromium.app/Contents/MacOS/Chromium \
    --remote-debugging-port=4096 \
    --user-data-dir=${PROFILE} \
    --enable-experimental-webgl=yes \
    --window-position=3000,400 \
    --window-size=1200,1000 \
    --no-pings \
    --disk-cache-dir=${DISK_CACHEDIR} \
    --disk-cache-size=${DISK_CACHESIZE} \
    --media-cache-size=${MEDIA_CACHESIZE} \
    --disable-geolocation \
    --ash-immersive \
    --disable-application-cache \
    --pinned-tab-count=1 http://some_url_im_developing_on/

调试器-谷歌浏览器

#!/bin/bash

export PROFILE=$HOME/debugger-chromium-profile
export DISK_CACHEDIR=/tmp/debugger-chromium-profile-cache
export DISK_CACHESIZE=0
export MEDIA_CACHESIZE=0
/Applications/Chromium.app/Contents/MacOS/Chromium \
    --user-data-dir=${PROFILE} \
    --enable-experimental-webgl=yes \
    --window-position=2400,400 \
    --window-size=1200,1000 \
    --no-pings \
    --disk-cache-dir=${DISK_CACHEDIR} \
    --disk-cache-size=${DISK_CACHESIZE} \
    --media-cache-size=${MEDIA_CACHESIZE} \
    --disable-geolocation \
    --ash-immersive \
    --disable-application-cache \
    --pinned-tab-count=1 http://localhost:4096/

首先运行developer-chrome,然后再运行debugger-chrome。两个Chrome实例将是独立的,所以您可以随时停止/重新启动它们。如果您断开连接,可能需要从debugger-chrome手动重新连接调试器。但是,我不知道。真的很让我恼火的是,没有办法让devtools自动出现。再加上Chrome对动态内容的“做还是不做”的缓存行为,这几乎使我考虑使用Firefox。

0

可以的。

谷歌浏览器可以打开调试器,只需要使用标志 debbuger。以下是示例:

<script>
  (yourcode here)
  debugger;
  (next code to debug)
</script>

开发者工具源代码面板将自动为您打开到该特定行。

它也适用于Internet Explorer 11

在43.x版本上进行了测试。


0

当我在 Chrome(Mac 上)中使用以下代码 debugger; 时,它不会自动打开控制台,只有在开发者工具已处于活动状态时才会运行。 在 Firefox 中执行相同的操作并运行我的页面/脚本(安装了 Firebug)时,当命中 debugger; 语句时 JavaScript 控制台/调试器就会打开。

以上是我的经验。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接