2

大家好,你好吗?好。情况是我需要开发一个嵌入在表单标题中的网络资源。此 Web 资源应为表单上显示的选择列表的每个值绘制一个带有标签的矩形。

我尝试使用 HTML 5 来绘制矩形,但一旦包含在网络资源中,我就无法使其正常工作。

我将在此处粘贴一个示例,如果它使用 IE 正常打开,则可以正常运行,但通过嵌入到表单标题中的 Web 资源打开不起作用并抛出异常,例如:' getContext(() 函数未定义'

这是代码

var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var xpos = -50;
debugger;
for (var ii = 0; ii < 3; ii++) {
    xpos += 50;
    ctx.fillStyle = "#FF0000";
    ctx.fillRect(xpos, 1, 50, 50);
    ctx.fillStyle = "#000000";
    ctx.font = "10px Arial";
    ctx.fillText("Stage ", xpos+5, 25); 
}

问题:我可以使用 HTML 5 将 crm 绘制到 Web 资源中吗????

提前致谢!

4

2 回答 2

1

看起来您正在访问相关记录,并且必须在 Web 资源中添加 ClientGlobalContext.js。此动态 JS 文件提供对全局上下文(与 CRM 对象的连接)的引用,以便您查询数据。

对于我从事的一个项目,我引用如下的 js。

<script type="text/javascript" src="http://{SERVERNAME}[:PORT]/{ORGNAME}/WebResources/ClientGlobalContext.js.aspx"></script>

另外,再想一想,如果您正在从表单本身访问值,那么您不会查询任何其他记录,您应该不需要这个。

关于 HTML5(我喜欢它!),它只是一个浏览器的东西,如果它在 CRM 之外工作,很有可能,它也可以在 CRM 中工作!

于 2012-05-02T01:06:38.343 回答
1

我很抱歉这么说,但是标记为正确的答案实际上不是正确的原因并没有回答问题,并且由于假设而使我感到困惑。

没有人的错,但是让我们直接为需要正确回答这个问题的其他人说些话。

您收到的错误听起来像这样:“对象不支持属性或方法'getContext'”并引用HTML5 canvas.getContext()对象。您收到此错误是因为canvas元素的内置对象getContext( ) 一,仅适用于 IE9(与 HTML5 兼容的第一个 IE 浏览器版本)并且您在旧版本的 IE 中运行您的 CRM 2011 实例。

在我的计算机上看到此消息,我认为这是一个错误,因为我在 IE9 浏览器版本中运行我的 CRM 2011 实例,但是当我在其中运行 F12 开发人员工具时,我看到浏览器模式是 IE9,但文档模式是 IE8 标准设置为 CRM 2011 实例的默认值。因此,我尝试将其更改为 IE9 标准,但令人惊讶 - CRM 2011 现在有 javascript 错误和崩溃。看起来 CRM 2011 实际上并没有在 IE9 标准中运行,而是在 IE8 标准中运行,即使浏览器版本是 IE9(也许这也是你的情况)。

因此,目前尚无法在 Crm 2011 中将 HTML 5 元素用于 Html Web 资源。

我唯一想到的想法是,目前我们只能创建可以包含 HTML5 元素并连接到我们的 CRM 数据的独立应用程序,直到 MS 找到在 IE9 标准中运行 CRM 2011 的方法。

如果有人知道比这些信息更多的信息,请告诉我们。

抱歉可能的错别字!

于 2012-07-25T14:44:10.713 回答