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';
}

CRM内の設定location.hrefはURLを変更しないようですが、関連するアプリケーションを起動するように機能しますmailto

IE 9、Chrome 27、Firefox 21 でテスト済み

于 2013-05-30T15:17:02.610 に答える