MS CRM 2011 如何用JScript读取web resource资源
原创地址:http://www.cnblogs.com/jfzhu/archive/2012/10/21/2732845.html
转载请注明出处
CRM从2011开始推出了一个Web Resource的概念。Web Resource有很多种类型,我们比较常用的是JScript web resource,比如可以用来定制Form的OnLoad事件处理。还有一种XML类型的web resource,我们可以用它来做为CRM的配置文件。这个配置文件有什么用,怎么用呢?请大家看下面的这个小例子。
假如你在CRM中自定义了一个Ribbon按钮,点击这个按钮,会弹出一个窗口打开你们公司的一个网站(比如一个SharePoint网站)。你们公司有两个CRM和SharePoint的环境,一个是开发/测试环境,一个是生产环境。测试环境的SharePoint URL为http://sharepointTest.mycompany.com,而生产环境的SharePoint URL为http://sharepointLive.mycompany.com。如果你将SharePoint的URL硬写(hardcode)进JScript的web resource里,那么每次如果你将solution从测试环境导入到生产环境的时候,你的live CRM都会打开错误的SharePoint,即测试环境的SharePoint。
这时,XML类型的web resource就派上了用场。你可以将SharePoint的URL写在一个单独的XML web resource里。自定义的Ribbon按钮要打开哪个URL,要去xml web resource里读取,而且xml web resource不要放在solution中,这样就把SharePoint的URL从你的solution中剥离了出来。每次你从测试环境的CRM将solution导入到生产环境CRM中,就不会再引发打开错误SharePoint的错误了。
接下来的问题就是在JScript的web resource中,如何读取另一个xml web resource的数据呢?加入我们有两个web resource,一个是new_testxml.xml,一个是new_test.js。new_testxml.xml的文件内容如下:
<urls> <url id="myurl">http://www.baidu.com</url> </urls>
在JScript中,你要先加载xml文件,我们可以使用XMLHttpRequest对象来加载。关于如何加载XML文档,大家也可以参见我以前的文章。xml web resource的路径为:
var xmlPath = "../WebResources/new_testxml.xml";
Web Resource的名字反映了路径结构。如果你的xml web resource叫new_xml/test.xml,那么它的路径就为:
var xmlPath = "../WebResources/new_xml/testxml.xml";
在 JScript中先读取xml web resource的内容,并查询id为myurl的节点,并返回该节点的URL。
var xmlPath = "../WebResources/new_testxml.xml"; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.open("GET", xmlPath, false); xmlhttp.send(); xmlDoc = xmlhttp.responseXML; // 如果只是支持IE浏览器可以 // var url = xmlDoc.selectSingleNode("/urls/url[@id='myurl']").text; // 否则SDK中已经为我们封装了对其他浏览器的支持的方法, // 请引用SDK\SampleCode\JS\SOAPForJScript\SOAPForJScript\Scripts\SDK.MetaData.js var url = SDK.MetaData._selectSingleNodeText(xmlDoc, "/urls/url[@id='myurl']");
最后不要忘了给用户设置读取web resource的权限:
转载于:https://www.cnblogs.com/jfzhu/archive/2012/10/21/2732845.html
- MS CRM 2011 C#中获取Web Resource
- WEB应用中普通Java程序如何读取资源文件
- MS CRM2011 关于从数据库读取时间并在前台用JS显示时,时间转换的问题
- MS CRM 2011的自定义和开发(10)——CRM web服务介绍(第二部分)——IOrganizationService(二)
- 3.使用资源注射(@Resource)读取web.xml初始参数
- Java-Servlet--《12-WEB应用中的普通Java程序如何读取资源文件.mp4》 有疑问
- java_web12-WEB应用中的普通Java程序如何读取资源文件
- MS CRM 2011 如何创建基于SQL的自定义报表,并使用数据预筛选(Pre-Filtering)
- MS CRM 2011 JScript getValue 与 setValue方法
- MS CRM 2011的自定义和开发(10)——CRM web服务介绍(第二部分)——IOrganizationService(一)
- MS CRM 2011——打完rollup 12 之后如何打开系统记录
- MS CRM 2011 如何从外部连接CRM 二
- WEB应用中的普通Java程序如何读取资源文件
- MS CRM 2011 如何创建一个Silverlight 程序
- 关于如何在java的web应用获取服务器资源。
- 如何读取嵌入的资源
- web.xml之资源管理对象配置 resource-env-ref
- [链接]--Microsoft Dynamics CRM 2011 Web Resource简介
- The requested resource is not available找不到资源是什么鬼哦项目已经发布,web配置看着也正常啊,百度了下 不知道咋回事
- MS CRM 2011的自定义与开发(12)——表单脚本扩展开发(1)