3

从 IE 以外的浏览器打开我们的 XRM 表单时出现错误。您可以在图片链接上看到无用的消息。

在此处输入图像描述

该错误尚不清楚,因此我对其进行了调试,这导致我在页面加载时出现 javascript 函数错误。它无法正确使用 XRM setDisabled() 函数:

Xrm.Page.getControl("simpeg_tipelokasi").setDisabled(true);

在 IE 上它可以工作并且该字段被禁用,但奇怪的是它在 Chrome 和 Firefox 上不起作用。你能帮我弄清楚为什么它在这些浏览器上不起作用吗?非常感谢!

编辑:

我的错,这实际上是两个浏览器的 ActiveX 配置中的问题,而不是setDisabled 函数中的问题。前段时间调试的时候一定是错过了。请参阅我在此网址上的新帖子: 使用 ActiveX 替代 XRM Javascript 调用 Web服务

4

3 回答 3

2

尝试使用应支持跨浏览器兼容性的 XrmServiceToolKit 新版本:

http://xrmservicetoolkit.codeplex.com/

于 2013-03-21T11:28:35.870 回答
2

如果您当前不在 Rollup 12 上,则 Chrome 不受官方支持。

如果可以的话,我会尝试升级以获得通过Rollup 12提供的新的跨浏览器支持。确保您检查了代码验证工具,以确保您的代码和自定义没有任何问题。

如果这不是一个选项,那么您可以尝试xrmservicetoolkit,它是一个 CRM JavaScript 库。

于 2013-03-22T11:01:43.283 回答
1

您需要将组织的汇总更新到至少 12 个(目前最新的)。不过,令我惊讶的是,您实际上得到了错误。使用不受支持的浏览器时,您应该无法登录并显示“主要”表单。

编辑:

绝对不是 RU12 和浏览器品牌的问题。我刚刚创建了一个新组织,并通过 Web 资源添加了以下功能。

function disableFullNameOnLoad(){
  Xrm.Page.getControl("fullname").setDisabled(true);
  alert("Full name disabled on load.");
}

function enableFullNameOnSave(){
  Xrm.Page.getControl("fullname").setDisabled(false);
  alert("Full name enabled on save.");
}

正如命名法所暗示的,禁用是在表单的onload中执行的,并在其onsave中启用。我使用 FF、IE 和 Cr 进入了 CRM(RU12、OP)。行为是一致的 -打开表单时全名显示为灰色,保存时可编辑

因此,无论您的平台上存在什么问题,它都与跨浏览器不兼容没有直接关系。当您添加我的示例中的确切代码时,您能否再次检查您是否得到了 IE 和 FF 之间的行为差​​异,请按照我描述的方式完全连接到事件。

于 2013-03-23T00:21:22.747 回答