4

是否存在用于动态更改浏览器中正在运行的 javascript 的工具?例如,在运行时更改 javascript 变量的值。

4

8 回答 8

5

因此,Firebug 确实是最好的选择之一——或者,如果您是拥有 Visual Studio 并希望使用 IE 进行调试的开发人员,您可以这样做。假设您将使用 Firefox 使用 Firebug 执行此操作。

首先,确定要更改代码的位置,并将以下行放在要开始弄乱的行之前:

debugger;

这将导致 Firebug 在该点停止脚本的执行,此时您可以单步执行代码并更改变量的值。

您也可以使用 Firebug 来放置断点,方法是在 Firebug 的脚本窗口中单击一行代码的左侧:

Firebug 断点截图

于 2008-11-01T17:34:16.057 回答
4

Firebug 或 Venkman Javascript 调试器。

于 2008-11-01T17:16:11.273 回答
3

在这里查看 javascript shell 。它就像浏览器中的调试器。您可以在活动文档对象上运行/更改任何 javascript 函数。

在您无法访问源/服务器的站点上调试/处理其他人的 javascript 非常好用。

我有没有提到它有制表符完成?这很棒。

于 2008-11-01T17:28:23.010 回答
2

Opera 9 现在与Dragonfly (FireBug 等价物)捆绑在一起,我知道它也可以动态编辑 JavaScript。无论如何,如果他们没有时间包含它,它至少是一个功能。

于 2008-11-01T17:59:26.753 回答
1

看看萤火虫

于 2008-11-01T17:16:56.200 回答
1

正如其他人所提到的,Firebug 允许您在 JavaScript 中设置断点(尽管当我的 JavaScript 在 HTML 文档中而不是外部文件中时,我在命中断点方面没有取得很大成功),这将在期间中断函数的执行运行。

它还允许您查看 DOM 对象和所有属性(包括您的 JavaScript 变量)。

还有一个精简版的 Firebug,可以在非 Firefox 浏览器中运行。

于 2008-11-01T17:35:36.023 回答
0

Mozdev 有一个名为MozREPL的工具。您不仅可以即时更改和重新定义代码,还可以访问底层浏览器代码。这真的很酷。

它在 yoru 计算机 amnmd 上打开了一个端口,您可以将 telnet 会话(仅从本地主机)附加到它以开始执行代码。您还可以将该端口打开到不是来自本地主机的连接......(但请注意,这是非常不安全和危险的,等等)。

它带有一个 emacs 次要模式,可让您将各种文本区域直接发送到 mozdev,并提供非常好的交互模式。我进一步扩展它以直接从 emacs 设置 Firebug 断点,并启动 selenium 测试。基本上我可以从我的编辑器编写我的浏览器。它太酷了。在不久的某个时候,我将发布源代码。

于 2008-11-01T18:37:43.340 回答
-3

JavaScript 有一个eval () 函数,你可以构建你的字符串然后运行它。

<script type="text/javascript" language="javascript">
  example = function() {alert('first');}
  example();
  eval("example = function() {alert('second');}");
  example();
</script>

上面的代码是如何使用 eval 更改现有代码的示例。

@eyelidlessness,这表明您可以更改现有代码。您对问题的编辑澄清了原始问题,但因此使我的答案看起来无效,但在最初发布时它是一个有效点,原始发帖人应该使问题更清楚。

于 2008-11-01T17:20:28.847 回答