如何在动态CRM中打开外部网站的模式对话框



我有一个用于付款处理的外部网站。 我想在潜在客户表单上创建一个模式对话框,允许用户处理付款。 我目前正在使用 Alert.js 创建模态,但它无法加载并出现跨站点脚本错误:

DOMException:无法从中读取"contentDocument"属性 "HTMLIFrameElement":阻止了具有源的框架 "https://MyCrmOnlineOrg.crm.dynamics.com"访问 跨源帧。

有趣的是,我

实际上可以在外部页面上调试javascript(它被下载并使用F12开发人员工具执行(,但是在我收到错误后,"加载"Gif永远不会消失...

我可以让它作为 IFrame 正确加载,只要我取消选中"限制跨帧脚本,在支持的地方"复选框。对于警报.js模式调用,有没有办法做到这一点? 有没有不同的方法可以做到这一点?

XSS 问题的"限制"复选框的替代方法是:

  • 1( 科尔斯
  • 2( HTML5 消息通道

如果您的外部站点是可以从 JS Web 资源调用的 Web 服务,则 1 很好,但事实并非如此。 2不需要Web服务,它是跨文档消息传递技术,但它要求您可以编辑外部的网站JS代码,因为它必须允许来自您的域的请求。

最新更新