初始化事件跳转到新报表被拦截

给cpt设置了一个初始化后跳转到新报表的js事件,但是会被浏览器拦截,用的是window.open(url)这种写法。请问怎么写才能不被拦截呢?FineReport10.0

如下是完整js:

setTimeout(function() {

var url = "${servletURL}?viewlet=WorkBook1.cpt&op=view&open_flag=0";

if (open_flag == "1") {

window.open(encodeURI(encodeURI(url)));

}

},500)

image.png

open_flag是默认值为1的全局参数。

如下为拦截界面截图:

image.png

以下为模板文件

WorkBook1.zip

FineReport 小狮子华 发布于 2023-3-6 16:31 (编辑于 2023-3-6 17:27)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
CD20160914Lv8专家互助
发布于2023-3-6 16:33(编辑于 2023-3-6 17:20)

正常谷歌与edge不会拦截这个的呀。你用的什么浏览器,安全性设置太高了?换成谷歌或者edge浏览器

image.png

这一个删除,用js获取值!!

setTimeout(function() {

var open_flag= this.options.form.getWidgetByName("open_flag").getValue();

var url = "${servletURL}?viewlet=WorkBook1.cpt&op=view&open_flag="+open_flag;

if (open_flag == "1") {

window.open(encodeURI(encodeURI(url)));

}

},500)

  • 小狮子华 小狮子华(提问者) 用的就是谷歌,默认设置。我这个是初始化后事件,我用点击后事件也不会拦截的。
    2023-03-06 16:45 
  • CD20160914 CD20160914 回复 小狮子华(提问者) 是不是你的url不正确。你初始化的话,你加延时没有??
    2023-03-06 16:46 
  • 小狮子华 小狮子华(提问者) 加了延时也没用,感觉像是写法问题,setTimeout(function() { var url = \"${servletURL}?reportlet=WorkBook1.cpt&op=view&open_flag=0\"; if (open_flag == \"1\") { window.open(encodeURI(encodeURI(url))); } },500)
    2023-03-06 17:08 
  • CD20160914 CD20160914 回复 小狮子华(提问者) open_flag这个值 你没用js去获取呀。你完整的编辑在你的最上面,不要放在回复中
    2023-03-06 17:11 
  • CD20160914 CD20160914 回复 小狮子华(提问者) 还有你是FR10还是FR11?
    2023-03-06 17:12 
最佳回答
0
1592Lv6高级互助
发布于2023-3-6 16:33(编辑于 2023-3-6 16:50)

试试

window.location = encodeURI(encodeURI("${servletURL}?viewlet=报表路径"));

——————————————————————

window.open(encodeURI(encodeURI("${servletURL}?viewlet=报表路径")))

  • 小狮子华 小狮子华(提问者) 这个只能在当前页面跳转,不是跳转到另一个页面
    2023-03-06 16:48 
  • 1592 1592 回复 小狮子华(提问者) 看修改答案,转义一下试试,加个延时函数
    2023-03-06 16:50 
  • 小狮子华 小狮子华(提问者) 加了延时也没用,感觉像是写法问题,setTimeout(function() { var url = \"${servletURL}?reportlet=WorkBook1.cpt&op=view&open_flag=0\"; if (open_flag == \"1\") { window.open(encodeURI(encodeURI(url))); } },500)
    2023-03-06 17:10 
  • 1592 1592 回复 小狮子华(提问者) 那不太清楚了,按文档是可以跳转的,看别人吧 JS实现点击跳转页面和定时跳转页面-https://help.fanruan.com/finereport/doc-view-2128.html
    2023-03-06 17:12 
最佳回答
0
用户6NWif5139660Lv6资深互助
发布于2023-3-6 16:33(编辑于 2023-3-6 16:34)
最佳回答
0
用户k6280494Lv6资深互助
发布于2023-3-6 16:34

 window.location =  encodeURI(encodeURI("${servletURL}?viewlet=demo/analytics/收益分析联动.frm"));跳转到收益分析联动报表。

最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-3-6 16:35

var url = "/WebReport/ReportServer?"+Url_; 

FR.doHyperlinkByPost(url,{ZTX_:ZTX_,VerifyCode_:VerifyCode_,XMBH_:XMBH_},'_self');

我用这个

  • 小狮子华 小狮子华(提问者) 这个写法好像只是在原来网页里,可以跳转到新的页面吗?
    2023-03-06 17:14 
  • Z4u3z1 Z4u3z1 回复 小狮子华(提问者) self改成bank
    2023-03-06 17:16 
  • 小狮子华 小狮子华(提问者) 回复 Z4u3z1 试了一下,也是不行,被拦截......
    2023-03-06 17:23 
  • Z4u3z1 Z4u3z1 回复 小狮子华(提问者) 那就是浏览器的安全设得太高了~~~
    2023-03-06 17:26 
  • 5关注人数
  • 462浏览人数
  • 最后回答于:2023-3-6 17:27
    请选择关闭问题的原因
    确定 取消
    返回顶部