解决润乾报表 V2018 JS 跨域问题

 

JS 跨域问题是 web 开发人员最常碰到的一个问题之一。所谓 js 跨域问题,是指在一个域下的页面中通过 js 访问另一个不同域下的数据对象,出于安全性考虑,几乎所有浏览器都不允许这种跨域访问,这就导致在一些 ajax 应用中,使用跨域的 web service 会成为一个问题。

例如:

有两个应用,一个为客户本身自己的应用平台,另一为报表平台(如润乾设计器 demo)。

             客户的平台有 a.html 页面,其内采用 iframe 引入润乾报表,同时 a.html 页面有几个 js 方法,该方法除处理本身页面的事件外,还要同时触发报表的导出等功能。

   存在的问题是: 点击导出的时候,没有弹出导出的对话窗口,浏览器的脚本有 document.domain  的错误。

如下图:点击上面的红色圈起来的导出 excel 的按钮,浏览器会有跨域的 js 的报错。

imagepng

imagepng

对于这种情况,报表里面有一种解决办法:利用二级域名的处理方式。

  直接在我们的  raqsoftConfig.xml 里面添加上 jsDomain 的属性的设置。

jsDomain 是处理导出对话窗口界面生成的 js。  该属性值是 二级域名 或者是二级域名对应的 IP 都可以。

例如:

imagepng