Javascript 在dynamics 365 CRM应用程序中导航

Javascript 在dynamics 365 CRM应用程序中导航,javascript,dynamics-crm,dynamics-crm-2016,dynamics-365,dynamics365-app-mobile,Javascript,Dynamics Crm,Dynamics Crm 2016,Dynamics 365,Dynamics365 App Mobile,我有一个Dynamics CRM 2016在线安装。我已在此应用程序中创建了一个web资源。此web资源是从帐户列表中的按钮启动的 在桌面上,它可以完美地工作,它会启动一个新窗口,我可以做我需要的事情,然后使用 Xrm.Utility.openEntityForm(entity, entityId); 然后把窗户关上 window.close(); 我还可以在(iOS)手机应用程序中访问此资源。但当资源加载后,上述两个命令都不起作用 我无法使用以下任何命令从webresource导航到记录:

我有一个Dynamics CRM 2016在线安装。我已在此应用程序中创建了一个web资源。此web资源是从帐户列表中的按钮启动的

在桌面上,它可以完美地工作,它会启动一个新窗口,我可以做我需要的事情,然后使用

Xrm.Utility.openEntityForm(entity, entityId);
然后把窗户关上

window.close();
我还可以在(iOS)手机应用程序中访问此资源。但当资源加载后,上述两个命令都不起作用

我无法使用以下任何命令从webresource导航到记录:

Xrm.Utility.openEntityForm(entity, entityId); // throws undefined error
window.open(recordURL); // does nothing
window.location.href = recordURL; // does nothing
我无法使用以下任一项关闭webresource:

window.close(); // does nothing
window.history.go(-1); // goes to a blank page (even more infuriating).
这些东西是否有一些特定的javascript命令(导航到record或返回)?我似乎找不到任何关于我应该在dynamics 365应用程序中使用哪些命令的引用。

有一些关于移动设备的信息:

“此外,手机的Dynamics 365不支持web 资源和iFrame,因此这些控件的客户端API不会 工作。上支持web资源和iFrame的客户端API 但是平板电脑的Dynamics 365

“Dynamics 365移动客户端也不支持Windows.open 方法。如果您希望为新的或 现有记录,请改用Xrm.Utility.openEntityForm。“

因此不支持窗口函数
Xrm.Utility.openEntityForm()
应该可以工作。可能由于移动设备上的internet连接不好,web API请求没有为函数调用提供所需的guid

也许它也不受支持,但没有文档记录。至少有一个非常类似的函数
Xrm.Utility.openWebResource()
不受支持,如下所示:

请记住,您必须使用
parent.Xrm
来访问网页中的Xrm对象,这些网页作为iframe嵌入到实体表单中。这也适用于通过
window.open()
打开的网页

如果它不起作用,您仍然可以执行某种条件行为或回退:

var isCrmForMobile = (Xrm.Page.context.client.getClient() == "Mobile")
if (isCrmForMobile)
{
   // Code for CRM for phones and tablets only goes here.
}
else
{
   // Code for web browser or CRM for Outlook only goes here.
}
if (Xrm.Page.context.client.getClient() == "Mobile" && Xrm.Page.context.client.getFormFactor() == 3)
{
   // Add code that should only run in CRM for phones here
}
// Code for any client goes here.
有一些关于移动设备的信息:

“此外,手机的Dynamics 365不支持web 资源和iFrame,因此这些控件的客户端API不会 工作。上支持web资源和iFrame的客户端API 但是平板电脑的Dynamics 365

“Dynamics 365移动客户端也不支持Windows.open 方法。如果您希望为新的或 现有记录,请改用Xrm.Utility.openEntityForm。“

因此不支持窗口函数
Xrm.Utility.openEntityForm()
应该可以工作。可能由于移动设备上的internet连接不好,web API请求没有为函数调用提供所需的guid

也许它也不受支持,但没有文档记录。至少有一个非常类似的函数
Xrm.Utility.openWebResource()
不受支持,如下所示:

请记住,您必须使用
parent.Xrm
来访问网页中的Xrm对象,这些网页作为iframe嵌入到实体表单中。这也适用于通过
window.open()
打开的网页

如果它不起作用,您仍然可以执行某种条件行为或回退:

var isCrmForMobile = (Xrm.Page.context.client.getClient() == "Mobile")
if (isCrmForMobile)
{
   // Code for CRM for phones and tablets only goes here.
}
else
{
   // Code for web browser or CRM for Outlook only goes here.
}
if (Xrm.Page.context.client.getClient() == "Mobile" && Xrm.Page.context.client.getFormFactor() == 3)
{
   // Add code that should only run in CRM for phones here
}
// Code for any client goes here.