2

我需要在 MS CRM 2011 功能区上添加使用默认客户端发送电子邮件的按钮。

我已将以下部分添加到customizations.xml.

<CustomActions>
  <CustomAction Id="Company.{!EntityLogicalName}.MainTab.ContactSupport.CustomAction"
                Location="Mscrm.HomepageGrid.{!EntityLogicalName}.MainTab.ExportData.Controls._children"
                Sequence="72">
    <CommandUIDefinition>
      <Button Id="Company.{!EntityLogicalName}.MainTab.ContactSupport.Button"
              Command="Company.all.MainTab.HelpGroup.ContactSupport.Command"
              LabelText="Contact Support"
              ToolTipTitle="Contact project support via e-mail"
              ToolTipDescription="Contact project support via e-mail"
              TemplateAlias="o3"
              Image16by16="/_imgs/ribbon/senddirectmail_16.png"
              Image32by32="/_imgs/ribbon/senddirectmail_32.png" />
    </CommandUIDefinition>
  </CustomAction>
</CustomActions>
...
...
...
<CommandDefinitions>
  <CommandDefinition Id="Company.all.MainTab.HelpGroup.ContactSupport.Command">
    <EnableRules />
    <DisplayRules />
    <Actions>
      <Url Address="mailto:Support@support.com" />
    </Actions>
  </CommandDefinition>
</CommandDefinitions>

它有效。但是,单击按钮会打开新窗口。它保持空白,因为它什么都没有显示 - 只需调用电子邮件客户端。

有什么解决方法吗?如何在不打开新窗口的情况下启动电子邮件客户端?

4

1 回答 1

1

找到了解决方案。

将您的操作更改为 JavaScript 操作,例如:

<Actions>
      <JavaScriptFunction FunctionName="contactsupport"  Library="$webresource:new_contactsupport.js" />
</Actions>

contactsupport功能将是:

function contactsupport() {
   location.href = 'mailto:Support@support.com';
}

看起来location.hrefCRM 中的设置不会更改 url,但可以启动关联的应用程序mailto

使用 IE 9、Chrome 27、Firefox 21 测试

于 2013-05-30T15:17:02.610 回答