0

我们有一个解决方案,其中包含 2 个站点地图链接,这些链接不链接到 CRM 中的实体,而是链接到 CRM 中的 Web 资源,其唯一目的是重定向到外部 ASPX 页面。

站点地图链接 --> 请等待页面 --> 重定向到 ASPX 页面 --> 在 CRM 中使用 ASPX 页面

这可以很好地在 CRM 中加载我们的页面,并且非常适合我们的需求。

但是...我们有 2 个这样的链接。当您从 CRM 中的任何位置导航到这些链接之一时,它们会自行加载。当您从另一个页面导航到其中一个页面时,我们会得到一个空白页面,其中没有任何加载。没有任何浏览器调试工具,我没有在 Fiddler 中看到任何东西。据我所知,什么都没有发生。

单击站点地图链接 1 --> 请等待页面重定向到页面 1 --> 页面显示正确 --> 单击站点地图链接 2 --> 盯着空白页。

这也适用于其他方式......

单击站点地图链接 2 --> 请等待页面重定向到页面 2 --> 页面显示正确 --> 单击站点地图链接 1 --> 盯着空白页。

我不确定我还能提供什么其他信息。该页面是一组 Kendo 网格,用于获取 CRM 之外的数据并构建一些使用情况报告。我真的不认为有什么特别的事情会导致页面本身出现问题。特别是因为我们从来没有进入过 aspx 页面。我们甚至从未看到显示的 Please Wait web 资源。这只是一个空白页面,似乎什么都没有发生。

我使用的这个特定实例是 Office 365 CRM 2013 试用版,因此它是一个完全普通的 CRM,在我的解决方案之外没有其他自定义。

有没有人见过我概述的任何行为,或者对如何解决这个问题有任何想法?

4

2 回答 2

1

这是 Dynamics 2013 的 UR1 中引入的问题。

我们的产品遵循相同的流程,升级后我们遇到了同样的问题。

正在发生的事情是,有一些 JS 代码深埋在 Microsoft Dynamics JS 中,在您从站点地图导航到新区域之前会调用这些代码。此代码尝试询问主要内容 iframe - 大概是检查未保存的更改,或生成 crumb trail。

但是,当您的 ASPX 页面是该 IFrame 的内容时,它会在尝试访问 Iframe 时遇到跨域“访问被拒绝”错误,并且他们的其余代码会丢失并留下一个空白屏幕。

我们的解决方法是更改​​执行重定向的 Web 资源以包含完整大小的 iframe,并将其源设置为我们的 ASPX 页面 - 本质上,您会在 iframe 中拥有 iframe。所以当 Dynamics 后来来尝试和主 Content iframe 对话时,它仍然是原始的 web 资源,不再是跨域的,所以 JS 不会中断。

于 2014-05-14T11:54:50.637 回答
0

也许尝试使用Tiny Url。通过使用 Tiny Url,您可以缩短 url。

于 2014-05-02T14:56:25.550 回答