Dynamics CRM 使用脚本小技巧

减少Jscript脚本资源发布次数的小技巧

       这个技巧的出现的原因:  每次修改了JScript资源之后,都需要重新发布,否则,修改是不会生效的,不知道各位同学是什么感受了,反正我是很烦这样子频繁修改、发布、修改、发布。 有没有什么好方法呢?使用物理文件,因为CRM网站上的文件发生改变后,IIS是会自动更新其内存中的该文件版本的,从而在客户端请求时,将最新版本的文件发送给客户端。

      我们现在说到的技巧就是,将表单事件和物理文件关联起来,令crm系统知道:当前的表单,依赖于哪些文件。

  实现的原理是,书写javascript代码,在html的head部分,添加一个script标记,在其中引用我们放在网站目录下的jscript文件。如此,在调试的时候,直接修改该物理文件即可,而不必每次都去修改JScript资源文件,然后再发布。

    具体做法如下,

第一步:创建一个jscript脚本资源,用于创建script标记,代码如下:

function IncludeScript(src)
{
    var head = document.getElementsByTagName("HEAD")[0];
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.language = "javascript";
    script.src = src;
    head.appendChild(script);
}

    将该资源命名为:new_include_script.js,效果如下图:

第二步:再创建一个JS资源来传递物理地址

代码如下:

IncludeScript("/new_scripts/test.js"); 

其中IncludeScript函数是在new_include_script.js中定义的。而new_scripts/test.js文件,是需要在crm站点的根目录下创建名为“new_scripts”的文件夹,并在该文件夹中创建test.js文件。如下图所示。

第三步:编写test.js代码

function Show()
{
  alert("你好");
 }

第四步:在需要改的窗体上面添加那两个JS。和添加函数方法。如下图所示:

第五步: 当调试、修改完成后,用test.js文件中的代码覆盖new_testEntity.js资源中的代码。并在表单设计器中,取消对new_include_script.js资源的引用。

原文地址:https://www.cnblogs.com/cuig/p/8884741.html