Browser 在Dynamics CRM的地址栏中显示可共享URL?

Browser 在Dynamics CRM的地址栏中显示可共享URL?,browser,dynamics-crm,dynamics-crm-2013,Browser,Dynamics Crm,Dynamics Crm 2013,我想让可共享的URL(显示为)直接显示在地址栏中,而不必单击“通过电子邮件发送链接”并从那里检索URL。现在,每个页面都将URL显示为 有办法吗?我正在使用MS CRM Dynamics 2013内部部署 谢谢。在地址栏中无法与CRM 2013共享URL 你需要通过通过电子邮件发送链接或复制链接功能来获取链接。我已经用JS黑客解决了这个问题 将下面的代码添加到JS Web资源中 设置所选实体的OnLoad方法以调用SetAddressBarAsFormShortcut()函数 请注意,不幸的是,

我想让可共享的URL(显示为)直接显示在地址栏中,而不必单击“通过电子邮件发送链接”并从那里检索URL。现在,每个页面都将URL显示为

有办法吗?我正在使用MS CRM Dynamics 2013内部部署


谢谢。

在地址栏中无法与CRM 2013共享URL


你需要通过
通过电子邮件发送链接
复制链接
功能来获取链接。

我已经用JS黑客解决了这个问题

  • 将下面的代码添加到JS Web资源中
  • 设置所选实体的OnLoad方法以调用
    SetAddressBarAsFormShortcut()
    函数
  • 请注意,不幸的是,不可能全局启用此行为(除非修改Microsoft的JS文件),并且它仅适用于支持history.pushState()方法的浏览器

    函数UpdateAddressBar(entityTitle、recordId、entityLogicalName){
    var$v_0=Mscrm.CrmUri.create(window.location.href);
    if(Mscrm.SessionInfo.isOutlookLaptopClient()&&!Mscrm.SessionInfo.isOnline()){
    var$v_2=window.location.href,$v_3=window.location.pathname;
    $v_0=Mscrm.CrmUri.create(Mscrm.Help.concatenaeurl(window.WEB_APP_URL,$v_2.substr($v_2.indexOf($v_3)));
    $v_0.set_useOrganizationName(false)
    }
    if(!Mscrm.Utilities.isNewPageModel($v_0)){
    $v_0=Mscrm.Utilities.removeExtraQSParameters($v_0,Mscrm.Utilities.getRecordPageQueryStringParams());
    if(Mscrm.InternalUtilities.EntityNames.Calendar===entityLogicalName&&(IsNull($v_0.get_query()[“id”]))| | IsNull或空字符串($v_0.get_query()[“id”])&&!IsNull(recordId)){
    $v_0.get_query()[“calendarId”]=recordId;
    $v_0.get_query()[“calendarType”]=1;
    $v_0=Mscrm.Utilities.removeExtraQSParameters($v_0,[“calendarId”,“calendarType”])
    }
    }否则{
    $v_0=Mscrm.Utilities.getPageUrl($v_0,“entityrecord”);
    删除$v_0.get_query().pagemode;
    如果(!IsNull(recordId))
    $v_0.get_query()[“id”]=recordId;
    删除$v_0.get_query().extrqs;
    var$v_4=$find(“crmFormSelector”);
    如果($v_4)
    $v_0.get_query()[“extrqs”]=“formid=“+CrmEncodeDecode.CrmUrlEncode($v_4.$r_3)
    }
    $v_0=$v_0.toString();
    $v_0=$v_0.子字符串($v_0.indexOf(“main.aspx”));
    top.onpopstate=function(){top.history.pushState(“,”,“main.aspx”);top.onpopstate=null;top.history.go(-2)};
    top.history.pushState(“,”,$v_0);
    };
    函数SetAddressBarAsFormShortcut(){
    var$v_0=Xrm.Page.data.entity;
    UpdatedDressBar(CrmEncodeDecode.CrmHtmlDecode($v_0.getPrimaryAttributeValue()),$v_0.getId(),$v_0.getEntityName())
    }
    

    (以上代码基于Microsoft在
    电子邮件链接
    /
    复制链接
    功能中使用的代码)

    我找到了一种使用JS的方法,请参见我的答案:)