MS CRM Form Scripting(Include external js file ,like jquery.min.js)

function load_script(url) {

    var x = new ActiveXObject("Msxml2.XMLHTTP");

    x.open('GET', url, false); x.send('');

    eval(x.responseText);

}

load_script("/isv/javascript/jquery.min.js");

load_script("/isv/javascript/xx.js");




看function load_script 其实很简单,就是一个ajax载入js文件即可。

其实就是通过eval来执行外部js代码。

这种方式会导致代码被缓存,同时,网上也有人指出eval的效率很低: http://mscrm4ever.blogspot.com/2009/04/crm-form-script-loader.html

其实缓存是正常的,可以避免代码每次加载,只不过在开发的时候,稍有不便。

我们可以这样解决缓存问题:

load_script("/isv/javascript/xx.js?"+Math.random());

不过记得在开发完成后,移除掉Math.random() 

那么在xx.js里面应该如何写呢?

(function(){

//TODO 

})();



//或者



(function($){

//TODO 

})(jQuery);

这个代码也叫js的自执行代码。

-----------------美丽的分割线---------------------

MS CRM里面的lookup字段的获取:

// Get the field that fired the event.

var oField = event.srcElement;



// Validate the field information.

if (typeof(oField) != "undefined" && oField.DataValue != null)

{

var dd = oField.DataValue;

if(dd[0] != 'undefined'){

  var id = dd[0].id;

  //TODO 

  }

}

注意获取来的DataValue其实是一个数组(Array).

你可能感兴趣的:(include)