【问题标题】:XRM setDisable() does not work on browsers other than IEXRM setDisable() 不适用于 IE 以外的浏览器
【发布时间】:2023-03-24 16:05:02
【问题描述】:

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

这个错误不清楚,所以我调试了它,它导致我在页面加载时的 javascript 函数上出错。 它无法正确使用 XRM setDisabled() 函数:

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

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

编辑:

我的错,这实际上是两个浏览器的 ActiveX 配置中存在的问题,而 不是 的 setDisabled 函数。前段时间调试的时候一定是错过了。 在这个网址上查看我的新帖子: Alternative to XRM Javascript calling webservice using ActiveX

【问题讨论】:

    标签: javascript google-chrome firefox dynamics-crm-2011 xrm


    【解决方案1】:

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

    编辑:

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

    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)。行为是一致的 - 当我打开表单时显示为灰色 fullname,当我保存它时 editable

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

    【讨论】:

    • 它确实有效,并且在某些表单上运行良好,但在这个表单上出现了这个问题。我知道如果尚未应用汇总,即使应用程序也不会加载,所以我猜问题出在我的代码中。
    • 感谢您的回复。我重新检查了我的代码,结果发现问题实际上并不是因为 setDisabled (我的错,对不起!)。这实际上是因为调用 web 服务时表单的 ActiveX,因为在 chrome/Firefox 上无法创建新的 ActiveX 实例。我将编辑/发布有关此错误的新问题。很抱歉提出误导性问题,但感谢您的帮助!
    【解决方案2】:

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

    如果可以的话,我会尝试升级以获得通过Rollup 12 提供的新跨浏览器支持。请务必查看code validation tool 以确保您的代码和自定义没有任何问题。

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

    【讨论】:

    • 您好,感谢您对代码验证工具和 javascript 库的建议。我们的开发在 Rollup 12 发布之前就停止了,但在发布之后继续进行,正如预期的那样,我们发现了几个问题,其中之一就是这个。很遗憾,大部分工具包都是最近才发布的,我们不得不应付定制的库。
    【解决方案3】:

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

    http://xrmservicetoolkit.codeplex.com/

    【讨论】:

    • 谢谢,我去查一下。它似乎是目前 XRM 定制的最佳选择之一。
    猜你喜欢
    • 1970-01-01
    • 2011-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    • 2012-10-17
    相关资源
    最近更新 更多