Dynamics CRM不发布JS调试

 

上个项目做了一年多,大多是在做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: est.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: est.js文件进行调试,而不用麻烦的发布啦。

原文地址:https://www.cnblogs.com/efanfan/p/4417608.html