JavaScript 跨域小总结】的更多相关文章

一. 什么是跨域 域名分为:一级域名.二级域名.三级域名.例如:baidu.com(一级域名) .www.baidu.com(二级域名)tieba.baidu.com(二级域名).bbs.youa.baidu.com (三级域名). 简易记法:在域名中包含两个点的为二级域名,只包含一个点的为一级域名. 跨域:由于JavaScript同源策略的限制,a.com下的js无法操作b.com或是c.a.com下的域名对象.详情如下表: URL 说明 是否允许通信 http://www.a.com/a.j…
前言: 最近在公司做了几个项目都涉及到了iframe,也就是在这些iframe多次嵌套的项目中,我发现之前对iframe的认识还是比较不足的,所以就静下心来,好好整理总结了iframe的相关知识:<Iframe 功能详解>. 在做公司项目的过程中,让我纠结之一的就是iframe的跨域问题,在网上查到的资料,基本都是给个思路,加个DEMO,也没有完整的解决方案.所以这里我结合公司的项目实际需求,从新整理了一下javaScript跨域的相关方法. PS:请转载的童鞋,请注明出处 ... 目录: 一…
在上一篇<说一说javascript跨域和jsonp>中,利用JSONP进行了跨域的数据访问,利用JS本身的跨域能力在远端生成HTML结构的方式完成了一个小广告. 在实际应用中, 跨域使用天气预报组件可以使用上面的方式实现,另外一种常用的就是显示某些电商的广告,此广告中会滚动您访问过的产品或者关联想推介给你的产品. 比如在某个A网页中显示了两种广告: 某东的广告,里面显示的东西,都是访问过滴,并且加推了相关的东西 某宝的广告,基本一样呈现方式. 有些是用iframe实现,因为页面链接起来也方便…
javascript跨域请求解决方案 前言 对于很多前端或者做混合开发的同学,我们难免会遇到跨域发起请求业务,比如A站点向B站点请求数据等等.由于最近要做一个站点集群的项目,所以具体业务要求很多个站点之间的消息推送,所以难免要做跨域请求. 这两天我在度娘上面用 "javascript php 跨域 ajax"等关键字找了好几遍,发现真的没有一篇博客写出一个具体的解决方案(ps.最多的方案基本都是选择jsonp,我相信get满足不了大家的吧?),所以我觉得总结一下我自己遇到的坑(其实是自…
疯狂的JSONP 关于JSON与JSONP简单总结 window.name实现的跨域数据传输 JavaScript跨域总结与解决办法 flash跨域策略文件crossdomain.xml配置详解…
关于Javascript跨域问题的解决方案已在之前的一片文章中详细说明,详见:http://blog.csdn.net/sfdev/archive/2009/02/13/3887006.aspx: 除了文中提到的3种解决方案之外,在今年的baidu salon分享会上黄方荣主讲的<WEB数据交互的艺术>中提到一个非常优雅绝妙的解决方案!话不多说,直接上解决方案原理图: 该图要解决的问题说明如下:在AAA.com域名下的index.htm页面中内嵌了BBB.com域名下的一个页面index.ht…
JavaScript 跨域方式实现方式有很多,之前,一篇文章中提到了 JSONP 形式实现跨域.本文将介绍 HTML5 新增的 api 实现跨域:window.postMessage . 1 otherWindow.postMessage(message, targetOrigin); 2 3 otherWindow 4 其他窗口的一个引用,比如iframe的contentWindow属性.执行window.open返回的窗口对象.或者是命名过或数值索引的window.frames. 5 6 m…
最近在做个上传文件的服务,其中包含一个上传的web页面.目的是想客户端页面嵌套这个web页面,然后直接将文件上传到服务器. 因为文件不同所以需要保存到的文件夹名称也不一样,所以客户端需要传递一个文件夹名称,告诉服务器端要保存的目标位置,这涉及到iframe的参数传递:ClientàServer 文件上传成功后服务器端返回文件名称或者相关信息到客户端,以便进行其它操作.这又涉及到一次参数传递:Server->Client 以上算是这个上传工具大的概要.但是我做的笔记主要是关于参数传递的问题.这里我…
javascript 跨域是一个很常见的问题,其中 jsonp 是一个最常用的手段,但是 jsonp 只支持 get,不支持 post,所以如果想通过 jsonp 来 post 一些数据,就头大了. 此处通过在一个 iframe 中生成 form 表单的形式来实现 post,并通过 postMessage 来向调用者返回值. 第一步,我们先实现一个接受 jsonp 的后端代码,至于用什么语言实现,各位自已决定. c#代码是: protected void Page_Load(object sen…
加油~ --WH 一.什么是javascript跨域问题? 域:服务器域名,唯一标识(协议,域名,端口)必须保证一致,说明域相同 跨域:在一个服务器上,去访问另一个服务器上,并且得到另一个服务器返回回来的值,这就是javascript跨域,其实简单点,之前我们做的ajax,都是在同域中访问,现在只是访问的服务器变成了另外的,不是同一台了.仅此而已.但是这样一变,之前的代码就不能用了. 二.解决javascript跨域问题 解决该问题,有很多种方式,我百度了一下,好像这就属于前端的范畴了,所以我决…
平时工作中经常被JavaScript跨域问题所困扰,其实有很多种解决方式,下面给大家介绍常用的几种: 1.jsonp解决跨域问题 客户端代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jsonp-跨域</title> <script type="text/javascript" src="resour…
需求:         近期工作负责一个互联网应用A(我公司应用)与还有一个互联网应用B进行通讯.通讯的方式是这种:还有一个互联网应用某些表单信息须要从我公司的互联网应用获取.首先用户訪问互联网应用B.接着在表单编辑页面点击button创建新窗体显示互联网应用A内容.用户在应用A窗体选取好内容后点击button,应用A的窗体关闭.应用A选取好的内容填充到应用B特定的表单元素上.        这个问题最简化描写叙述就是,浏览器有两个不同站点(域)的页面,页面B须要获取页面A的信息. 问题解决过程…
1. 基本术语 AJAX(Asynchronous JavaScript And XML,异步JavaScript和XML):AJAX是一种用于创建快速动态网页的技术,通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. JSON(JavaScript Object Notation):JSON是一种轻量级的数据交换格式,可以看成是由大括号包裹起来的多个"key/value"对,格式如下:{"f…
javascript跨域通信 同源:两个文档同源需满足 协议相同 域名相同 端口相同 跨域通信方法: 01,通过设置img,script,link,iframe元素的src,href属性为目标url. 02,请求JSON数据,使用<script>进行jsonp请求. 03,设置内部服务器代理,请求跨域url.返回数据. 04,CORS功能.目标服务器的HTTP响应头为"Access-Control-Allow-Origin:*"即可.魔芋:但是,这样不太安全.可以设置为特定…
转载:http://www.cnblogs.com/choon/p/5393682.html demo 用动态创建<script></script>节点的方式实现了跨域HTTP请求,给<script>标签的src属性中的URL添加一个参数来指定回调函数的名称 服务端: 1 2 3 4 5 6 7 8 9 10 11 public void ProcessRequest(HttpContext context) {     context.Response.Content…
自从我接触前端以来,接手的项目里面很大部分都是前后端分离的,后端只提供接口,前端根据后端接口渲染出实际页面.个人觉得这是一个挺好的模式,前后端各自负责各自的模块,分工明确,而且也给前端更大的发挥空间. 与以前套模板的模式不同,前后端分离以后,前端跟后端的沟通绝大部分都是通过前端主动向后端发起请求来完成的.而前端的请求又绝大部分是由 Ajax 构成的,Ajax 是一种非常方便的获取数据的方式.但是,一旦 Ajax 碰上跨域,那么问题就会麻烦很多.这篇文章主要梳理了我在项目开发里面碰到的一些关于跨域…
JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象.因为同源策略的限制,a.com 域名下的js无法操作b.com或是c.a.com域名下的对象. 下表给出了相对 http://site.baidu.com/file/index.html 同源检测的示例: 序号  URL 结果 原因 1  http://site.baidu.com/file/inner/1.html 成功 同一域名 2 http://site.baidu.com/file2/2.html 成功 同一域名不同文…
1.通过jsonp跨域    场景:假设前台有JS方法"crossJS", 1.1发送请求http://www.xxx.com/?callback=crossJS.(创建一个script标签,请求该地址) 1.2后台服务器,返回数据格如crossJS({"a":"b"}); 优点:开发.维护简单 缺点:每次可提交数据大小受get方式限制 2.使用HTML5中新引进的window.postMessage方法来跨域传送数据   场景: 页面http:…
[第1篇] 同源策略与JSONP 浏览器是访问Internet的工具,也是客户端应用的宿主,它为客户端应用提供一个寄宿和运行的环境.而这里所说的应用,基本是指在浏览器中执行的客户端JavaScript程序.虽然是一种解释性的脚本语言,JavaScript其实是无比强大的,原则上来讲它可以做任何事.但是在能够在JavaScript脚本并不都是值得信赖的,所以浏览器必须对JavaScript的执行作相应的限制,这就是“同源策略(Same Origin Policy)”.JavaScript脚本的源决…
1.window 对象 浏览器会在其打开一个 HTML 文档时创建一个对应的 window 对象.但是,如果一个文档定义了一个或多个框架(即,包含一个或多个 frame 或 iframe 标签),浏览器就会为原始文档创建一个 window 对象,再为每个框架创建额外的 window 对象 2.contentWindow contentWindow属性是指指定的frame或者iframe所在的window对象(frame/iframe在window里面) 3.获取frame/iframe跨域win…
转载自http://www.cnblogs.com/rainman/archive/2011/02/20/1959325.html仅用作个人读书笔记. 什么是跨域 1.document.domain+iframe的设置 2.动态创建script 3.利用iframe和location.hash 4.window.name实现的跨域数据传输 5.使用HTML5 postMessage 6.利用flash 什么是跨域 JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象.但在安全限制…
首先了解一下window.name这个东西是什么. name 在浏览器环境中是一个全局/window对象的属性,当在 frame 中加载新页面时,name 的属性值依旧保持不变 并且name 属性仅对相同域名的 frame 可访问.由此我们可以继续下面的问题. 有三个页面: a.com/app.html:应用页面. a.com/proxy.html:代理文件,一般是一个没有任何内容的html文件,需要和应用页面在同一域下. b.com/data.html:应用页面需要获取数据的页面,可称为数据页…
页面域关系: a.html所属域A:www.A.comb.html所属域B:www.B.com 问题本质: js对跨域iframe访问问题,因为要控制a.html中iframe的高度和宽度就必须首先读取得到b.html的大小,A.B不属于同一个域,浏览器为了安全性考虑,使js跨域访问受限,读取不到b.html的高度和宽度. 解决方案: 引入代理代理页面c.html与a.html所属相同域A,c.html是A域下提供好的中间代理页面,假设c.html的地址:www.A.com/c.html ,它负…
一.什么是跨域 JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象.但在安全限制的同时也给注入iframe或是ajax应用上带来了不少麻烦.这里把涉及到跨域的一些问题简单地整理一下: 首先什么是跨域,简单地理解就是因为JavaScript同源策略的限制,a.com域名下的js无法操作b.com或是c.a.com域名下的对象.更详细的说明可以看下表: URL 说明 是否允许通信 http://www.a.com/a.js http://www.a.com/b.js 同一域名下 允…
什么是跨域 1.document.domain+iframe的设置 2.动态创建script 3.利用iframe和location.hash 4.window.name实现的跨域数据传输 5.使用HTML5 postMessage 6.利用flash 本文来自网络(http://f2e.me/200904/cross-scripting/,该网址已不能访问),仅作个人读书笔记之用,并稍作修改和补充. 什么是跨域 JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象.但在安全限制…
在 Web 开发中,后台开发人员应该会通常遇到这个问题:跨域,而使用 JSONP 就是其中解决办法之一,当然,还有其它解决方法,比如:window.name.window.postMessage.CORS.iframe 之类.本文只介绍 JSONP. 首先,看看维基关于 JSONP 定义. JSONP(JSON with Padding)是资料格式JSON的一种“使用模式”,可以让网页从别的网域要资料.另一个解决这个问题的新方法是跨来源资源共享. 由于同源策略,一般来说位于server1.exa…
JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象.但在安全限制的同时也给注入iframe或是ajax应用上带来了不少麻烦.这里把涉及到跨域的一些问题简单地整理一下: 首先什么是跨域,简单地理解就是因为JavaScript同源策略的限制,a.com 域名下的js无法操作b.com或是c.a.com域名下的对象.更详细的说明可以看下表: URL 说明 是否允许通信 http://www.a.com/a.jshttp://www.a.com/b.js 同一域名下 允许 http:/…
项目在开发过程中,用到了天气预报的功能,所以需要调用天气预报的api,一开始以为直接用ajax调用url就可以获取天气数据,结果涉及到了跨域的问题,这里做一个记录. 说到跨域,就得知道同源策略. 同源策略(Same origin policy),是由Netscape提出的一个著名的安全策略.现在所有支持JavaScript 的浏览器都会使用这个策略.所谓同源是指,域名,协议,端口相同.它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响.可以说Web是构建在…
什么是跨域?当两个域具有相同的协议.相同的端口.相同的host时,那么我们就可以认为它们是相同的域.比如:http://www.example.com/a.html 和 http://www.example.com/b/c.html 就属于相同的域,数据访问可通过 ajax 解决.反之如果不符合上述三个条件中任何一个,我们称之为不同域.比如 http://www.example.com/a.html 和 http://example.com/b.html.由于javascript同源策略的限制,…
什么是跨域 JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象.但在安全限制的同时也给注入iframe或是ajax应用上带来了不少麻烦.这里把涉及到跨域的一些问题简单地整理一下: 首先什么是跨域,简单地理解就是因为JavaScript同源策略的限制,a.com 域名下的js无法操作b.com或是c.a.com域名下的对象.更详细的说明可以看下表: URL 说明 是否允许通信 http://www.a.com/a.jshttp://www.a.com/b.js 同一域名下 允许…