如何在Chrome调试器中"动态"编辑JavaScript代码?它不适合我,所以我无权访问源文件.我想编辑代码并查看它们在页面上有什么效果,在这种情况下,停止动画排队很多次.
在Google Chrome调试器中单步执行JavaScript代码时,如果我不想继续,如何终止脚本执行?我找到的唯一方法是关闭浏览器窗口.
按"重新加载此页面"将运行其余代码,甚至提交表单,就像按F8"继续"一样.
更新:
在脚本暂停时按F5(刷新):
关闭然后再次打开浏览器窗口并不总是下一个最简单的方法,因为它会终止浏览器会话状态,这可能很重要.你的所有断点都会丢失.
更新(2014年1月):
调试时刷新:
有点进步!
调试时导航到同一页面:
此外juacala提出有效的解决办法.例如,如果您使用的是jQuery,则在遇到任何jQuery方法后,从控制台运行delete $将停止执行.我已在所有上述浏览器中对其进行了测试,并确认其正常运行.
更新(2015年3月):
最后,经过2年以上和近10K的观看,Alexander K给出了正确的答案.谷歌Chrome有自己的任务管理器,它可以在不关闭标签本身的情况下终止标签进程,保持所有断点和其他内容不变.
我甚至到了BrowserStack.com,在Chrome v22中测试它,发现即使在那个时候这种方式也是如此.
在IE或Firefox中进行调试时,Juacala的解决方法仍然有用.
更新(2019年1月):
Chrome Dev Tools最后添加了一种正确的方法来停止脚本执行,这很好(虽然有点隐藏).有关详细信息,请参阅James Gentes的答案.
Chrome开发者工具:有没有办法在单独的视图中查看Console选项卡和Sources选项卡?我经常想同时看看这两个.
按下选项卡Esc时,Sources我会看到Console底部的小视图.但是我希望同时对这两者有更大的看法.这可能吗?
如果没有,这是Chrome扩展可能做的事情吗?
编辑:
澄清 - 我知道如何取消停靠开发工具窗口(这是我的默认设置).只是贪婪我想,并想知道我是否可以进一步拆分Sources并Console进入单独的未对接的窗口(或者至少,他们的视图在同一个窗口上垂直分割,而不是像压力Esc那样水平分割)
google-chrome google-chrome-extension google-chrome-devtools
此问题之前也有类似问题,但我似乎无法在Google Chrome中调试Javascript.
如果我转到Page> Developer,则禁用"Debug Javascript"(Ctrl+ Shift+ L). Alt+ `不起作用.
我正在开发一个'内容脚本'扩展,所以我正在启动chrome --enable-extensions.
我理想的做法是设置断点并在执行时逐步/运行我的脚本.谈到JavaScript,我有点头脑,所以任何指导都表示赞赏.
我可以访问"JavaScript控制台",但无法在其中找到内容脚本.我也不确定它与"JavaScript调试器"的区别.
我在Windows XP上使用最新的Dev build of Chrome(2.0.181.1).
在Ruby中,我可以binding.pry在我的代码中的任何位置键入,在执行时,我的控制台将进入REPL,我可以访问所有局部变量,可以进行更改,并执行任意代码.
例:
# foo.rb
require 'pry'
n = 5
binding.pry
puts "your number is #{n}"
Run Code Online (Sandbox Code Playgroud)
当我运行它:
$ ruby foo.rb
From: /Users/cgenco/Desktop/foo.rb @ line 4 :
1: # foo.rb
2: require 'pry'
3: n = 5
=> 4: binding.pry
5: puts "your number is #{n}"
[1] pry(main)> n = 100
=> 100
[2] pry(main)> exit
your number is 100
Run Code Online (Sandbox Code Playgroud)
这是一个令人难以置信的调试工具,特别是对于需要复杂设置的情况:我可以binding.pry在现场键入我需要更多代码,弄乱,找出需要编写的代码,然后将抛光的代码添加到实际的源代码中.
在浏览器控制台中是否有像jy这样的工具?
在调试时,我总是使用Firebug并尝试调用函数并显示变量.但是当我在函数或变量中定义时,我不能$(document).ready.
我如何访问这些变量?我可以输入类似命名空间的内容,document.ready.variableName或者我怎么能看到这个?
先感谢您.
我正在寻找类似于Debugger.Launch().NET的东西,它以编程方式打入调试器.
我不是在寻找一种跨浏览器的方式,只需谷歌Chrome就足够了.
每次我尝试在Javascript中设置调试点,在设计模式下或在runniong时设置调试点,我得到错误:
trying to set a breakpoint in javascript: this is not a valid location for a breakpoint
Run Code Online (Sandbox Code Playgroud)
当我在Debugging Just In Time下进入VS2010的选项屏幕时,我看到选择了Managed,Native和Script,
我还把行"调试器"放了 在被调用的javascript函数的第一行中,但是永远不会中断.
在Web.Config中(尽管这可能是针对已编译的代码:):
<compilation debug="true
Run Code Online (Sandbox Code Playgroud)
我在新机器上重温这个问题......你可以帮忙吗?
编辑:我遗漏了一个巨大的细节:
谷歌浏览器是我的默认浏览器.
(我正在尝试调试仅限Chrome的错误.)
我必须使用VS2010以外的其他调试工具吗?我认为它应该有效.太有希望了,是吗?
javascript debugging google-chrome visual-studio-2010 windows-7
我test()在javascript文件中创建了一个函数.将一个简单的警告放入其中.
在html文件中,单击按钮时调用方法.但是,它没有被调用.
问题出现在第11个函数中,与我的无关!!!! 但是,一个人如何制作他的第一个javascript函数假设找到了???
我正在寻找调试javascript的最佳方法.
我正在尝试在浏览器中调试一些js(专门用于Chrome).如何查看为some_data和new_data设置的值?
我意识到由于变量范围仅限于函数,some_data并且new_data在执行文件ready()之后不存在.
$(document).ready(function(){
var some_data = [4, 8, 15, 16, 23, 42];
var new_data = some_data * 2;
});
Run Code Online (Sandbox Code Playgroud) 在使用javascript进行调试和开发时,我经常想要提醒对象,所以我使用了以下代码:
for(a in obj)
{
alert(a +' = '+obj[a])
}
Run Code Online (Sandbox Code Playgroud)
它很好用,但太烦人了.我想知道数组是否有这样的东西:
var temp = ['a','b','c'];
alert(temp); // it will alert a,b,c
Run Code Online (Sandbox Code Playgroud)
所以我想做的是:
var temp = {a:'a',b:'b',c:'c'};
alert(temp) ; // It should alert json {a:'a',b:'b',c:'c'}
Run Code Online (Sandbox Code Playgroud)
或者任何其他更好的建议,以便我可以轻松地查找对象.
我有一个实际上是排行榜的代码。我有3个问题来修改代码,这是第一个(我将为每个问题创建单独的问题)。
第一个问题:我不知道为什么缺少imgDiamonds,我只能在最终输出中看到黑点而不是Diamonds.png以及如何解决它。
结果如下:
更清楚的是,这里的代码示例行加载了图像配置文件,并且t工作正常:
profile1.img = "https://randomuser.me/api/portraits/men/12.jpg";
Run Code Online (Sandbox Code Playgroud)
这是导致问题的缺少图像:
profile1.imgDiamonds = "Diamonds.png";
Run Code Online (Sandbox Code Playgroud)
这是代码:
JS
// this is the array that will hold all the profile objects
let profiles = [];
let profile1 = {};
profile1.name = "Jim Bob";
profile1.job = "Doctor";
profile1.points = 1500;
profile1.img = "https://randomuser.me/api/portraits/men/12.jpg";
profile1.imgDiamonds = "Diamonds.png";
profiles.push(profile1);
let profile2 = {};
profile2.name = "Jane tanha";
profile2.job = "Dentist";
profile2.points = 2000;
profile2.img = "https://randomuser.me/api/portraits/women/22.jpg";
profile2.imgDiamonds = "Diamonds.png";
profiles.push(profile2);
let profile3 = {};
profile3.name …Run Code Online (Sandbox Code Playgroud) javascript ×11
debugging ×6
jquery ×2
breakpoints ×1
css ×1
html ×1
html5 ×1
pry ×1
ruby ×1
windows-7 ×1