智能报表工具FineReport7.1.1
大小:148.2M 适用平台:windows/linux
模板设置在需要进行填报的模板添加加载结束事件,我们这边选择新建一张模板CrossSubmit.cpt,直接在填报预览处添加加载结束事件,代码如下:function send(val){ sendMessage(val); } (function(win, doc){ var ifr = win.parent; var cb = function(msg){ eval(msg); }; var sendMessage = function(){ if(win.postMessage){ if (win.addEventListener) { win.addEventListener('message',function(e){ cb.call(win,e.data); },false); }else if(win.attachEvent) { win.attachEvent('onmessage',function(e){ cb.call(win,e.data); }); } return function(data){ ifr.postMessage(data,'*'); }; }else{ var hash = ''; setInterval(function(){ if(win.name!==hash){ hash = win.name; cb.call(win,hash); } },200); return function(data){ ifr.name = data; }; } } win.sendMessage = sendMessage(); })(window, document);
提交页面设置在本地新建test.html,此时test.html与我们报表模板是两个不同的域,在test.html中点'跨域提交'按钮,调用send('_g().writeReport()')则可以实现跨域提交。test.html的代码如下:
效果查看由于使用的最简单的模板,即模板没有设计模板主体。IE8下:
谷歌下