M K*_* II 1 javascript debugging google-chrome
我正在Visual Studio 2013中开发一个MVC Web应用程序,我已经能够浏览应用程序的调试会话并在chrome中点击F12来观看我的javascript.我打开调试窗口,单击Sources选项卡,然后进入我的Content/JS/Script.js文件并设置断点.
最近,我的断点从未被击中.似乎javascript被调用了,但它并没有停止.我注意到如果代码错误,我可以点击错误中的链接,Sources会显示一个名为VM895的文件或类似的东西,这似乎是我的Script.js文件的副本,除了没有我的断点.
除非我的javascript错误,否则我找不到打开该文件的方法.
任何人都可以向我解释为什么会这样吗?为什么不使用我在实际脚本文件中放置的断点,以及可能发生了什么变化?
据我所知,eval
我的Javascript中没有使用任何地方.
这是我的MVC/Razor:
<div class="col-md-5">
@Html.DropDownListFor(model => model.SelectedRoleId,
ViewBag.ReviewRoles as SelectList,
new { @class = "form-control", onchange = "OnChangeAjaxAction.call(this, 'reviewRole');", id = "ddlReviewRole" })
</div>
Run Code Online (Sandbox Code Playgroud)
这是来自浏览器的渲染源:
<select
class="form-control" data-val="true"
data-val-number="The field SelectedRoleId must be a number."
data-val-required="The SelectedRoleId field is required."
id="ddlReviewRole"
name="SelectedRoleId"
onchange="OnChangeAjaxAction.call(this, 'reviewRole');">
<option value="14">Reviewer</option>
<option value="42">Erb Reviewer</option>
</select>
Run Code Online (Sandbox Code Playgroud)
这是Javascript:
OnChangeAjaxAction = function(e) {
var form = this.form;
//e.preventDefault(); //This prevents the regular form submit
var formData = new FormData($(form).get(0));
AjaxAction(form.action + "?mode=" + e, form.method, formData, $(form).attr("data-target-div"), $(form).attr("data-refresh-div"));
return false;
}
Run Code Online (Sandbox Code Playgroud)
浏览器(有时)很难在动态加载的JavaScript上持久化断点.最简单的解决方案是debugger;
在代码中添加一行.
您可能认为您没有使用eval,但每当您在HTML中设置处理程序时,都会动态创建随后执行的代码;
// Code loaded dynamically
function doSomething(y) {
var x = 1;
// If dev tools is open, it will treat `debugger` as a breakpoint
debugger;
}
Run Code Online (Sandbox Code Playgroud)
或者,在你的例子中
<div class="col-md-5">
@Html.DropDownListFor(model => model.SelectedRoleId,
ViewBag.ReviewRoles as SelectList,
new { @class = "form-control",
onchange = "debugger; OnChangeAjaxAction.call(this, 'reviewRole');", id = "ddlReviewRole" })
</div>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
882 次 |
最近记录: |