【发布时间】:2012-08-01 01:13:41
【问题描述】:
我似乎无法弄清楚 Chrome 调试工具。
我有 chrome 版本 21.0.1180.60 m。
我采取的步骤:
- 我按 ctrl-shift-i 调出控制台。
- 点击 Sources 然后选择我要调试的相关 javascript 文件。
- 我通过在左侧行旁边的排水沟上放置一个蓝色标记来设置断点。
- 我单击了网页(这是一个 php 呈现的页面)上启动 javascript 代码的按钮。
- 代码运行成功,没有停止。
我还注意到 Watch Expressions 也不起作用。它一直告诉我,我想看的变量是未定义的。
进一步测试发现是我的代码导致断点失败。似乎它在 "$("#frmVerification").submit(function(){" 行上失败了。它没有进入该 function() 内的断点。
下面是:
//function to check name and comment field
var test = "this is a test";
var test2 = "this is another test";
function validateLogin(){
//if(userEmail.attr("value") && userPass.attr("value"))
return true;
//else
//return false;
}
//onclick on different buttons, do different things.
function ajaxRequest(){
}
$(document).ready(function(){
//When form submitted
$("#frmVerification").submit(function(){
var username = $("#username");
var token = $("#token");
var action = $("#action");
var requester = $("#requester");
if(validateLogin()){
$.ajax({
type: "post",
url: "verification.php",
data: "username="+username.html()+"&token="+token.val()+"&action="+action.val()+"&requester="+requester.val(),
success: function(data) {
try{
var jsonObj = $.parseJSON(data); //convert data into json object, throws exception if data is not json compatible
if(jsonObj.length > 0){//if there is any error output all data
var htmUl = $('<ul></ul>');
$.each(jsonObj, function(){
htmUl.append('<li>' + this + '</li>');
});
$("#errOut").html(htmUl);
}else{
alert("Your account is now activated, thank you. If you have already logged in, press OK to go to the home page. If not, you must log in first.");
window.location.replace("home.php");
}
}
catch(e){//if error output error to errOut]
$("#errOut").html("PHP module returned non JSON object: <p>"+data+"</p>");
}
}
});
}
else alert("Please fill UserName & Password!");
return false;
});
});
【问题讨论】:
-
第 2 步中的“来源”应该是“资源”?
-
我的 chrome 在面板中有以下顺序:元素、资源、网络、来源、时间线、配置文件、审计、控制台。但是,资源不允许我添加断点。只有来源会。
-
您可以尝试使用简单直接的 javascript 的简单页面来查看断点是否有效。这样就可以知道是不是Chrome 21.0.1180.60的问题了
-
我还看了很多在线说明,应该有一个“脚本”面板……但我没有那个?
-
是的。在我的 chrome(20.0.1132.43) 中,它有:元素、资源、网络、脚本、时间线、配置文件、审计、控制台。因此,在 Chrome 21 中,他们似乎将“脚本”更改为“来源”
标签: javascript debugging google-chrome