`
xiaodouya
  • 浏览: 10728 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

恶心的IE6 跨域解决方案

阅读更多
    两天做项目在生产环境遇见一个非常恶心的跨域问题!那就是IE6下的,不过只是个别IE6b版本有问题。
问题描述:
      从一页面(html)跳转到另一页面(html),由于本页面要从后台动态的取得数据而后放入select框中,问题就出来了, 从后台取数据也能去得到(用httpwatch下已经看到数据传到前台了) 数据名称定义为“data“,当第一次使用的使用IE6的个别版本会出现“data未定义“。当刷新页面后就不再出现这样的问题。 (2)当复制本页面的链接新打开一窗口亦不会出现”data未定义“。经过观察只要是从前一个页面跳转到本页面在IE6(个别版本)就会出现此问题。

解决方案:
        1:使用jquery.getJSON (亦可以解决跨域问题)经过多次试验不能解决此问题。
        2:使用jquery.getScript(亦可以解决跨域问题)经过多次试验不能解决此问题,效果同jquery.getJSON

        3:document.domain + iframe.get 搞定!!!

方案细节:很多网友的博客中都有解释,本人亦是参考别人的结合自己经历修改而来。
       ( 1: 在本页面声明  document.domain = "18110.cn";(为一级域名   不可为 “www.18110.cn”)在页面中加入<iframe src="http://second.18110.cn" id="cross" style="display:none;"></iframe>
       ( 2:在需要跨域的域名下加入 “cross.html”用于欺骗浏览器使用
          内容细节
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"    "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>用document.domain+iframe实现Ajax跨子域</title> 
</head>
<script type="text/javascript" src="jquery1.4.js"></script>
<script type="text/javascript">
  document.domain = 18110.cn';
</script>
<body>
</body>
</html>
      (3  var iframe=document.getElementById('iframe').contentWindow.jQuery;
        iframe.get(url,function(data){……);
        接下来就可以对data操作了!

       
分享到:
评论

相关推荐

    10种跨域解决方案.docx

    ### 10种跨域解决方案概述 #### 一、跨域是什么? **1. 同源策略** 跨域问题的根本原因在于浏览器实施的一种安全措施——同源策略(Same-origin policy)。这一策略确保了一个源(origin)下的文档或脚本无法访问另一...

    IE7 Ajax跨域问题

    1. **JSONP (JSON with Padding)**:这是一种常见的跨域解决方案,它通过动态创建`&lt;script&gt;`标签来加载来自其他域的JavaScript代码,因为脚本标签不受同源策略限制。服务器返回的JSON数据被包装在一个函数调用中,...

    WebApi 跨域问题解决方案:CORS

    1. 创建一个包含MVC项目(Web)和Web API项目(WebApiCORS)的解决方案。 2. 在MVC项目中,如Home控制器的Index视图,使用Ajax向WebApiCORS发起跨域请求。 3. 在WebApiCORS项目中,创建一个如ChargingController的...

    JS跨域访问解决方案总结[参照].pdf

    JS 跨域访问解决方案总结 JS 跨域访问解决方案总结是指在不同域名站点之间进行资源访问的解决方案。默认情况下,脚本访问文档属性等数据采用的是同源策略(Same origin policy),即如果两个页面的协议、域名和端口...

    ajax跨域问题的解决办法.rar

    JSONP是一种早期的跨域解决方案,利用`&lt;script&gt;`标签可以跨域加载JavaScript的特性。服务器返回一个JavaScript函数调用,参数是数据,客户端预先定义好这个函数,通过动态插入`&lt;script&gt;`标签来执行。例如,服务器端...

    IE9 IE8 ajax跨域问题的快速解决方法

    真正的解决方案通常涉及到IE浏览器的设置调整。按照文章中提供的方法,可以通过修改IE的安全设置来允许跨域请求。具体操作步骤如下: 1. 打开IE浏览器,点击“工具”菜单,选择“Internet选项”。 2. 在弹出的...

    web跨域完美解决方式

    虽然跨域解决方案使得数据交互更加灵活,但也带来了安全风险。开放跨域访问可能导致XSS(跨站脚本攻击)和CSRF(跨站请求伪造)等安全问题,因此在设置跨域策略时,需要权衡便利性和安全性,尽可能限制允许的来源和...

    finereport跨域打印文档

    2. **跨域打印解决方案**:对于Finereport,可能需要使用IFrame或者Web服务代理的方式实现跨域打印。IFrame可以将报表加载到一个隐藏的框架中,然后在这个框架内进行打印操作,从而绕过同源策略的限制。Web服务代理...

    跨域引用资源技术

    2. **IFrame解决方案**:通过在IFrame中嵌入不同源的页面,可以实现主次域名之间的跨域通信。设置`document.domain`属性可以使IFrame内容与父页面共享相同的主域名,然后利用JavaScript进行通信。但是,这种方法仅...

    ie9 ajax请求失败解决方案

    完美解决ie9 ajax 请求失败问题,解决ie9 跨域请求失败问题,欢迎下载,亲测有效。jquery.XDomainRequest.js

    Ajax跨域提交

    每种方法都有其适用场景和优缺点,开发者需要根据实际需求选择合适的跨域解决方案。在进行Ajax跨域提交时,需要注意处理可能出现的安全问题,比如XSS(Cross-Site Scripting)和CSRF(Cross-Site Request Forgery)攻击...

    报表开发工具FineReport在ie8下的跨域提交

    #### 四、解决方案详解 ##### 4.1 模板设置 首先,我们需要在需要进行填报的模板中添加加载结束事件。这里以新建的一张模板`CrossSubmit.cpt`为例,直接在填报预览处添加加载结束事件。具体代码如下: ```...

    ie6实现css3属性

    为了解决这个问题,开发者可以使用专门针对IE6的解决方案,如使用JavaScript库(如jQuery corner插件)或者引入包含圆角实现的HTC文件。这些HTC文件通常通过定义自定义的CSS属性(如-moz-border-radius或-webkit-...

    处理IE6浏览器显示.png图片透明度文件

    在互联网的早期,Internet Explorer 6 (IE6) 是广泛使用的浏览器之一,但它存在许多兼容性问题,其中就包括PNG图片透明度的问题。PNG(Portable Network Graphics)是一种支持透明度的图像格式,但在IE6中,它无法...

    跨域post上传图片

    HTML5引入了File API,使得在前端处理文件变得更加容易,但ie6+浏览器并不完全支持这些新特性,所以我们需要找到一种兼容性较好的解决方案。 在给定的文件中,`yemian.html`可能是展示上传界面的网页,`1111.html`...

    上传图片预览-兼容IE6,IE7,IE8,FF

    标题中的“上传图片预览-兼容IE6,IE7,IE8,FF”指的是一个Web开发的技术解决方案,目的是实现图片上传前的预览功能,并确保该功能在早期版本的Internet Explorer(IE6、IE7、IE8)以及Firefox浏览器上都能正常工作...

    浏览器跨域问题解约源代码

    2. **JSONP(JSON with Padding)**:JSONP是一种较老的跨域解决方案,适用于只支持GET请求的API。它利用了HTML中`&lt;script&gt;`标签不受同源策略限制的特性。服务器提供一个可以注入回调函数的动态脚本,客户端通过创建...

    HTML5平台中跨域访问使用说明

    五、其他跨域解决方案 1. JSONP(JSON with Padding):通过动态创建`&lt;script&gt;`标签来规避同源策略,但仅支持GET请求且无安全性保障。 2. 代理服务器:在服务器端设置一个代理,转发跨域请求到目标服务器。 六、...

Global site tag (gtag.js) - Google Analytics