在我的 CRM Dynamics 365 解决方案中,我有一个带有嵌入式网络资源 A 的表单。此网络资源 A 在弹出窗口中打开另一个网络资源 B,使用window.open
. 当然也可以使用 Xrm.Utility.openWebResource
.
我想在 webresource B 中使用 jQuery。我知道 CRM 本身会在某些版本中加载 jQuery,这在监控网络请求和过滤 jquery 时很容易发现。
问题是网络资源 B 没有对 jQuery 或 $-variable 的“访问”权限。问题是为了使用 jQuery,您会建议做什么。我已经优先列出了一些可能的解决方案:
- 使用独立版本的 jQuery 加载网络资源
- 一个我没有想到的选择
- 从 CDN 加载它
- 使用 jQuery 查找所有加载的脚本并将 URL 传递给 webresource B,以便它可以自行加载它(几乎是 hack)
- 避免使用 jQuery,使用 vanilla JS
更新:使用 jQuery 的主要原因是为了轻松调整嵌入在弹出窗口中的 iframe(具有随机内容)的大小,根据弹出窗口的尺寸显示 webresource B。
我决定完全放弃 jQuery 并改用 CSS。我的解决方案变成了在 Google Chrome、Windows Edge 和 Internet Explorer 11 中运行良好的解决方案:
#externalframe {
width: 100%;
height: 100%;
display: block;
float: left;
}