Dynamics CRM不发布JS调试
上个项目做了一年多,大多是在做JS的开发,由于开发人数比较多,着实被坑的不轻。因为JS修改完成之后必须要发布,对于我们动辄几千行的JS的调试,是件很痛苦的事情。稍微写错一点就得重新发布,人一多,发布就得等,然后别人发布的时候你就只能干看着等别人发布完,这样一天下来时做不了啥事的,所以一直想着能找到不发布JS调试,之前也在群里问了,不过我觉得我的方法比较简单,现在分享给大家,如果有更好的方法,也欢迎分享。
准备工具
Fiddler 下载安装后启动即可。
步骤
Form上有new_/test/test.js需要调试,还绑定了onload事件。
- 将下面代码写入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); -
刷新Form,在Fiddler中捕捉到了上面代码的请求。
由于test对象事件不存在,所以报错了。
-
设置Autoresponder
- 选中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文件进行调试,而不用麻烦的发布啦。