嵌入外部页面发生跳转,导致打开了新窗口,诚恳求解决办法

赶路 2016-08-09 05:23:12
各位大拿,项目需要在页面中嵌入Cognos的报表设计页面,通过iframe的方式嵌入:

<iframe name="iframe1" id="iframe1" width="100%" height="410" >
</iframe>
地址是:http://10.230.146.168:9300/p2pd/servlet/dispatch?b_action=xts.run&m=portal

/launch.xts&ui.gateway=http://10.230.146.168:9300/p2pd/servlet/dispatch&ui.tool=ReportStudio&ui.object=

${reportPath}&ui.action=edit
但嵌入的页面始终在新窗口中打开,最后发现该地址会自动跳转到http://10.230.146.168:9300/p2pd/pat/rsapp.htm,导致打开一个新的页面,而不能实现在框架中打开,请问有大拿有什么方法能实现在iframe中实现页面的跳转吗?而不跳出iframe,或者有其他的外部页面嵌入思路,能实现这种需求。谢了。
...全文
904 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hc20140821 2017-11-29
  • 打赏
  • 举报
回复
<iframe src="http://10.230.146.168:9300/p2pd/servlet/dispatch" > </iframe>
  • 打赏
  • 举报
回复
他们给你的解决方法也只会是一个不会发生跳转的支持被嵌入并能进行身份认证的URL,而不可能是如何在外部破坏目前这样的模式。是不是?
  • 打赏
  • 举报
回复
那你就可以与Cognos的技术支持联系一下,索取解决方法。
赶路 2016-08-11
  • 打赏
  • 举报
回复
单位已经购买了大量Cognos的license,不存在你说的盗链的问题,这里只是寻求一种技术方案,能支持嵌入跳转的页面。
引用 2 楼 theforever 的回复:
普通的页面,你用iframe没问题。 但只要对方页面里有反iframe的代码,事情就复杂了。 假设没有其它必要的JS,你只要禁止执行JS,一样可以iframe它。 但这样的报表设计页面,全指着JS进行工作,所以你不能禁止JS。 而且禁止JS,需要用户设置浏览器或插件,并非你在你的网站上可以控制的。 如果对方页面比较简单,你在你网站后台上可以读取对方页面,过滤掉不想执行的部分,包括LOGO等图片资源,再转发给用户。 但同样这样的页面,你不能那样做。 即使你开发一个桌面程序或者干脆为此专门自制一个浏览器,也无法挡住对方网站对此可能的保护,因为你想使用那事实存在的血肉相连的数据与逻辑关系,方方面面都可以加验证,即使之前没有加,一旦你做成了,对方只要分析一下访问日志(你觉得对方这样的大公司难道没有这种意识,不会在日常任务中安排这种事吗?),就能发现问题并把你的IP列入黑名单拒绝服务。
  • 打赏
  • 举报
回复
普通的页面,你用iframe没问题。
但只要对方页面里有反iframe的代码,事情就复杂了。
假设没有其它必要的JS,你只要禁止执行JS,一样可以iframe它。
但这样的报表设计页面,全指着JS进行工作,所以你不能禁止JS。
而且禁止JS,需要用户设置浏览器或插件,并非你在你的网站上可以控制的。

如果对方页面比较简单,你在你网站后台上可以读取对方页面,过滤掉不想执行的部分,包括LOGO等图片资源,再转发给用户。
但同样这样的页面,你不能那样做。

即使你开发一个桌面程序或者干脆为此专门自制一个浏览器,也无法挡住对方网站对此可能的保护,因为你想使用那事实存在的血肉相连的数据与逻辑关系,方方面面都可以加验证,即使之前没有加,一旦你做成了,对方只要分析一下访问日志(你觉得对方这样的大公司难道没有这种意识,不会在日常任务中安排这种事吗?),就能发现问题并把你的IP列入黑名单拒绝服务。
  • 打赏
  • 举报
回复
除非你找到它允许这样做的API,否则当然不可能让你随便一个iframe就把任何想要的网站功能都随便就借过来。

反过来,如果你的网站做好了,你一样也不希望别人用一个iframe就把你的访问者们都撬走。

如果很容易就破解,那还谈什么保障了?网站开发者们还辛苦做什么,都等着别人做,自己只玩iframe就是了。

这种事情,要么你自己实现类似的功能,要么就把提供设计页面的需求降低到符合自己的实际(给链接让用户去Cognos上做完报表,看看能导出怎样可以使用的格式,最差可以导出图片或截图吧,然后你的项目操作导出的文件),要么就找找能替换的可以自己部署的产品,最后,实在不行就去找Cognos进行商业合作,不要为花钱肉疼,与知名厂商合作本身也是一种广告,不这样的话,光是做广告去达到类似的广告效果,你说会花多少钱?

39,083

社区成员

发帖
与我相关
我的任务
社区描述
HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。
社区管理员
  • HTML5社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧