IE下跨域问题的解决方案

    今儿个在开发项目时,IE下出现了跨域问题(Chrome下就没有),IE真蛋疼啊,为了解决这个问题,google也google了,百度也百度了,还是没能解决,找到一些解决方案都是说加入P3P协议之类,没辙了。

    后来自个儿想办法,不就是用Location.href导致的嘛,那我就越过location.href连接到外链地址,我就用一个代理页面来处理显示外链地址的页面。在代理页面中我用iframe来显示外链的页面,这样就避免了location.href的跨域问题。只需要把外链地址当作一个参数传到代理页面来并用iframe显示就OK了,这下怎么测试都不会存在跨域了。

   我是用的springmvc,连接地址的写法是:proxy.do?url=http://www.baidu.com。

    proxy.do是跳转到代理页面并把url外链地址参数传入到这个页面。以下是代理页面的代码:

   

<%@page contentType="text/html;charset=UTF-8" trimDirectiveWhitespaces="true"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>代理页面(外链地址 解决ie的跨域问题)</title>
	<style type="text/css">
		<!--
		html, body {
			height:100%;
		}
		-->
	</style>
</head>
<body style="overflow: hidden;">
	<!-- 主体 start -->
	<div style="width: 100%;height:100%">
		<iframe name="contentFrame" id="contentFrame" src="${url}"
			style="margin: 0px;" frameborder="0" width="100%" height="100%"></iframe>
	</div> 
	<!-- 主体 end -->
</body>
</html>


作者:Tandaly

出处:http://blog.csdn.net/tandaly/article/details/9365135






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值