JavaScript跨域问题

通过实现Ajax通信的主要限制,来源于跨域安全策略。默认情况下,XHR对象只能访问与包含它的页面位于同一个域中的资源。这种安全策略可以预防某些恶意行为。但是,实现合理的跨域请求对于开发某些浏览器应用程序也是至关重要的。

解决方案有:

1、JSONP

  原理:动态插入script标签

2、原理:CORS(Cross-Origin Resource Sharing, 跨域资源共享)

3、document.domain + iframe

  通过修改document.domain来跨子域

4、window.name, window+postMesssage

  postMessage是HTML5新引进的特性

5、服务器上设置代理页面

时间: 2024-10-10 11:18:23

JavaScript跨域问题的相关文章

JavaScript跨域

JavaScript跨域 js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被当作是不同的域. 同源策略阻止从一个域上加载的脚本获取或操作另一个域上的文档属性.也就是说,受到请求的 URL 的域必须与当前 Web 页面的域相同.这意味着浏览器隔离来自不同源的内容,以防止它们之间的操作. URL 说明 是否允许通信 http://www.a.com/a.jsh

javascript跨域解决方案

最近遇到了https跨域访问http域的问题,很多朋友理所当然的认为简单,问题是https跨域访问到http域上的资源,会进行相互通信,没有解决该问题,只能把外部资源扔到了新浪的sae上,通过https访问,别跨什么协议域了,只跨主域即可! 附两篇跨域的文档 http://jiangzhenghua.iteye.com/blog/1221178 http://jiangzhenghua.iteye.com/blog/1221184 HTTPS页面包含HTTP内容时浏览器提示的绕过 http://

javascript 跨域解决方案

1 用jsonp $.getJSON(" http://www.jinanwuliangye.com/document!searchJSONResult.action?name1="+value1+"&jsoncallback=?", function(json){ if(json.属性名==值){ // 执行代码 } }); $.getJSON(" http://www.tongxinglong.com/document!searchJSONRe

JavaScript 跨域漫游

前言: 最近在公司做了几个项目都涉及到了iframe,也就是在这些iframe多次嵌套的项目中,我发现之前对iframe的认识还是比较不足的,所以就静下心来,好好整理总结了iframe的相关知识:<Iframe 功能详解>. 在做公司项目的过程中,让我纠结之一的就是iframe的跨域问题,在网上查到的资料,基本都是给个思路,加个DEMO,也没有完整的解决方案.所以这里我结合公司的项目实际需求,从新整理了一下javaScript跨域的相关方法. PS:请转载的童鞋,请注明出处 ... 目录: 一

JavaScript跨域总结与解决办法

JavaScript跨域总结与解决办法(转) 什么是跨域 1.document.domain+iframe的设置 2.动态创建script 3.利用iframe和location.hash 4.window.name实现的跨域数据传输 5.使用HTML5 postMessage 6.利用flash 本文来自网络(http://www.cnblogs.com/rainman/archive/2011/02/20/1959325.html). 什么是跨域 JavaScript出于安全方面的考虑,不允

js day44 Jquery(筛选,事件,效果,Ajax,javascript跨域)

1     筛选[掌握]     筛选与之前"选择器"雷同,筛选提供函数 1.1   过滤 eq(index|-index),获取第N个元素 ?index:一个整数,指示元素基于0的位置,这个元素的位置是从0算起. ?-index:一个整数,指示元素的位置,从集合中的最后一个元素开始倒数.(1算起) first(),获取第一个元素 last(),获取最后个元素 hasClass(class),检查当前的元素是否含有某个特定的类,如果有,则返回true. filter(exp

利用javascript跨域访问cookie之广告推广

在上一篇<说一说javascript跨域和jsonp>中,利用JSONP进行了跨域的数据访问,利用JS本身的跨域能力在远端生成HTML结构的方式完成了一个小广告. 在实际应用中, 跨域使用天气预报组件可以使用上面的方式实现,另外一种常用的就是显示某些电商的广告,此广告中会滚动您访问过的产品或者关联想推介给你的产品. 比如在某个A网页中显示了两种广告: 某东的广告,里面显示的东西,都是访问过滴,并且加推了相关的东西 某宝的广告,基本一样呈现方式. 当访问某东某宝的商品时,会把信息放到cookie

javascript跨域访问探索之旅

需求: 最近工作负责一个互联网应用A(我公司应用)与另一个互联网应用B进行通讯,通讯的方式是这样的:另一个互联网应用某些表单信息需要从我公司的互联网应用获取:首先用户访问互联网应用B,接着在表单编辑页面点击按钮创建新窗口显示互联网应用A内容,用户在应用A窗口选取好内容后点击按钮,应用A的窗口关闭,应用A选取好的内容填充到应用B特定的表单元素上. 这个问题最简化描述就是,浏览器有两个不同网站(域)的页面,页面B需要获取页面A的信息. 问题解决过程: 刚开始我也不知道这个是跨域问题,虽然同事一开始就

[HTML5_JS跨域]JavaScript跨域总结与解决办法

什么是跨域 JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象.但在安全限制的同时也给注入iframe或是ajax应用上带来了不少麻烦.这里把涉及到跨域的一些问题简单地整理一下: 首先什么是跨域,简单地理解就是因为JavaScript同源策略的限制,a.com 域名下的js无法操作b.com或是c.a.com域名下的对象.更详细的说明可以看下表: 特别注意两点: 第一,如果是协议和端口造成的跨域问题“前台”是无能为力的, 第二:在跨域问题上,域仅仅是通过“URL的首部”来识别而

jQuery(三) javascript跨域问题(JSONP解决)

加油~ --WH 一.什么是javascript跨域问题? 域:服务器域名,唯一标识(协议,域名,端口)必须保证一致,说明域相同 跨域:在一个服务器上,去访问另一个服务器上,并且得到另一个服务器返回回来的值,这就是javascript跨域,其实简单点,之前我们做的ajax,都是在同域中访问,现在只是访问的服务器变成了另外的,不是同一台了.仅此而已.但是这样一变,之前的代码就不能用了. 二.解决javascript跨域问题 解决该问题,有很多种方式,我百度了一下,好像这就属于前端的范畴了,所以我决