解决JS跨域跳转页面问题解决方案

来源:互联网 发布:优店网络是怎么转店的 编辑:程序博客网 时间:2024/05/16 08:02

开发过程中有时会遇到脚本转到其他网站的需求,首先的思路都会想到window.open方法,但却忽略了浏览器阻止的问题。

下面是针对3种场景的解决方案

1.使用window.open

   首先要搞清楚浏览器阻拦的前提是什么?只有跨域时浏览器才会阻拦,也就是说在A.com域下弹出B.com域下的页面,浏览器就会阻拦。

这时我们可以在A.com域下创建一个页面href.jsp,然后把B.com域下的页面地址已参数的方式传递给href.jsp,之后再由后台的HttpServletResponse类下的sendRedirect方法来处理转发。

2.使用iframe解决

   很多JS框架都用到了这种方法,使用JS弹出一个对话框,然后把iframe嵌套在这个对话框中即可。

3.使用form表单来模拟提交

首先在页面中创建一个隐藏的form(隐藏办法:把form用div包住,然后对div进行隐藏),设置表单属性target="_blank",同样适用action="href.jsp",后台处理跟第一种方法一样。

0 0