β

Dynamics CRM JavaScript调试的最佳实践

季小鱼 210 阅读

本博客已迁移至 http://www.krely.cn/

上个项目做了一年多,大多是在做JS的开发,由于开发人数比较多,着实被坑的不轻。因为JS修改完成之后必须要发布,对于我们动辄几千行的JS的调试,是件很痛苦的事情。稍微写错一点就得重新发布,人一多,发布就得等,然后别人发布的时候你就只能干看着等别人发布完,这样一天下来时做不了啥事的,所以一直想着能找到不发布JS调试,之前也在群里问了,不过我觉得我的方法比较简单,现在分享给大家,如果有更好的方法,也欢迎分享。

准备工具

Fiddler  下载安装后启动即可。

步骤

Form上有new_/test/test.js需要调试,还绑定了onload事件。


  1. 将下面代码写入test.js ,保存并发布

    //test.js的地址

    //CRM2011地址是 var url = “../WebResources/new_/test/test.js”;
    var url = “/WebResources/new_/test/test.js”;
    var xmlhttp=new XMLHttpRequest();
    xmlhttp.open(“GET”,url,false);
    xmlhttp.send();
    eval(xmlhttp.responseText);

  2. 刷新Form,在Fiddler中捕捉到了上面代码的请求。


    由于test对象事件不存在,所以报错了。


  3. 设置Autoresponder
    1. 选中test.js,然后单击选中AutoResponder选项卡,吧下面三个CheckBox选中,然后单击Add Rule,在Rule Editor中设置 JS的路径


路径D:\test.js是写好的JS,内容如下:

(function (global, $) {

var test = global.test = {};

test.onload = function(){

alert(“onload test”);

}

})(window,jQuery)

再次刷新,可以看到JS已经成功替换掉了。


再次修改本地JS,刷新Form

(function (global, $) {

var test = global.test = {};

test.onload = function(){

alert(“test autoresponder”);

}

})(window,jQuery)

已经成功替换掉了


至此,已经可以直接修改D:\test.js文件进行调试,而不用麻烦的发布啦。

作者:季小鱼
专注于Dynamics CRM的开发!!!
原文地址:Dynamics CRM JavaScript调试的最佳实践, 感谢原作者分享。