这一篇文章呢,主要是之前一直听别人讲json跨域跨域,但是还是一头雾水,只知其一,于是一怒之下,翻阅各种资料,如果有不正确的地方,劳烦指正一下^_^ 首先,先了解浏览器有一个很重要安全性限制,即为同源策略:不同域的客户端脚本在无明确授权的情况下不能读些对方资源。跨域也就是不同源~ 简单的说,只要协议,端口,域名有一个不同,即为跨域! 然而,当进行一些比较深入的前端编程的时候,不可避免地需要进行跨域操作,这时候...
由于web同源策略的限制,当页面使用跨域iframe链接时,主页面与子页面是无法交互的,这对页面间的信息传递造成了不小的麻烦,经过一系列的尝试,最后我发现有以下方法可以实现: 1. 子页面url传参 简单说来就是把所有需要传递的参数加到与主页面同源的url上,将子页面重定向到该url,然后主页面通过iframe的src获取这些参数 过程非常复杂,不建议使用这种方法 2. postMessage() postMesssage()是HTML5提供的一个基于事件的消息传输A...
由于web同源策略的限制,当页面使用跨域iframe链接时,主页面与子页面是无法交互的,这对页面间的信息传递造成了不小的麻烦,经过一系列的尝试,最后我发现有以下方法可以实现:1. 子页面url传参简单说来就是把所有需要传递的参数加到与主页面同源的url上,将子页面重定向到该url,然后主页面通过iframe的src获取这些参数过程非常复杂,不建议使用这种方法2. postMessage()postMesssage()是HTML5提供的一个基于事件的消息传输API,可...
引言跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是由于安全限制(同源策略, 即JavaScript或Cookie只能访问同域下的内容),因为我们在日常的项目开发时会不可避免的需要进行跨域操作,所以跨域能力也算是前端工程师的基本功之一。和大多数跨域的解决方案一样,JSONP也是我的选择,可是某天PM的需求变了,某功能需要改成支持POST,因为传输的数据量比较大,GET形式搞不定。所以折腾了下闻名已久的...
在实际应用中, 跨域使用天气预报组件可以使用上面的方式实现,另外一种常用的就是显示某些电商的广告,此广告中会滚动您访问过的产品或者关联想推介给你的产品。比如在某个A网页中显示了两种广告:某东的广告,里面显示的东西,都是访问过滴,并且加推了相关的东西某宝的广告,基本一样呈现方式。当访问某东某宝的商品时,会把信息放到cookie中,呈现时会根据cookie中的商品信息进行呈现。问题来了。A网页所在的站点和某东某宝的站...
代码如下: function setHeight(){ var dHeight = document.documentElement.scrollHeight; var t = document.createElement("div"); t.innerHTML = ''; document.documentElement.appendChild(t.firstChild); } 我想着跨域如何解决啊!后来去网上搜索了一下子 恍然大悟 具体如下 我是复制过来了 大家重点理解一下子它的实现思路 : 问题: A域名下的页面a.htm中通过iframe嵌入B域名下的页面b.html,由于b.html的大小等是不可预知而...
1.使用post提交方式 2.构造表单的数格式 3.结合form表单的submit调用ajax的回调函数。 使用 jQuery 异步提交表单代码: 代码如下: 无标题页 jQuery(function($) { // 使用 jQuery 异步提交表单 $('#f1').submit(function() { $.ajax({ url: 'ta.aspx', data: $('#f1').serialize(), type: "post", cache : false, success: function(data) {alert(data);} }); return false; }); }); 如何异步跨域提交表单呢? 1.利用sc...
官方的文档特别说明,该函数只适用于1.2以后的版本,之前的版本是不行滴。 代码如下: function GetCrossDomainContent() { $.getScript("http://two.xthost.info/im0417/cnblogs.txt", function() { if (typeof (msg) != "undefined") { $("#TestCrossDomain").val(msg[0]); } }); 官方解释 jQuery.getScript(url, [callback]) 参数1:url,String类型。待载入 JS 文件地址。 参数2:callback (可选),Function类型。成功载入后回...
Ajax的跨域操作一直是一个难题,现目前主要的解决方法主要有: 1、JSONP(需要在服务器端支持) 2、IFrame(仅能在子域间操作) 3、页面代理(这个有点万能) 4、Access-Control-Allow-Origin(新版浏览器支持,需要在服务器端设置Header) 今天,小子再提供一种使用Flash进行跨域操作的方法。众所周之,其实Flash的跨域操作也是有限制的,不过,Flash的跨域配置比简单,只需要在站点根目录下...
三个页在同一个窗口,分别为main.htm,left.htm和right.htm。 main.htm 代码如下: 实现跨 主窗口 left.htm 代码如下: 左边 我是左边 right.htm 代码如下: 右边 function onclickRefresh() { parent.frames[ "left"].location.reload(); //window.left.location.reload(); } 看到right.htm里面 function onclickRefresh()通过 parent.frames["left"].location.refresh();来实现右边页面刷新左边页面. 如...
这两天需要实现三级域名直接url rewrite到网站静态页面,如 http://123.456.789.com/ UrlRewrite到http://www.789.com/news/123.html 说到这里,也许和js跨域访问没有半点关系,在脑海里排列这的问题都是和UrlRewrite相关的。好吧现在URLRewrite一切就绪,直接在浏览器地址栏中输入http://123.456.789.com/ 会发现,这个在地址栏直接通过http://www.789.com/news/123.html来访问的页面出现了异常,网页上的图片和样式还有JS好像都失...
这里有个简单的测试页面:IE、火狐弹出"hello world",而chrome,safari,opera毫无反应。 以下是小段测试代码(刻意修改domain,让父页面和子页面为不同域页面): 1.父页面代码: 代码如下: document.domain = "nunumick.me"; function doTest(){ alert('hello world'); } 2.子页面代码: 代码如下: try{ top.name; }catch(e){ document.domain = 'nunumick.me'; top.doTest(); } 以上代码目的是尝试在访问异常时动态修改...
javascript跨域有两种情况: 1、基于同一父域的子域之间,如:a.c.com和b.c.com 2、基于不同的父域之间,如:www.a.com和www.b.com 3、端口的不同,如:www.a.com:8080和www.a.com:8088 4、协议不同,如:http://www.a.com和https://www.a.com 对于情况3和4,需要通过后台proxy来解决,具体方式如下: a、在发起方的域下创建proxy程序 b、发起方的js调用本域下的proxy程序 c、proxy将请求发送给接收方并获取相应数据 d、proxy将获得...
代码如下: var iframeids = [memberIndexIframe,inquiryCenterIframe,everychinaBbsIframe]; var iframehide = "yes"; function dynIframeSize(){ var dyniframe = []; for(var i=0;i<iframeids.length;i++){ if(!document.getElementById) return false; dyniframe[i] = document.getElementById(iframeids[i]); if(dyniframe[i] && !window.opera){ dyniframe[i].style.display = "block"; if(dyniframe[i].contentDocument && d...
下面的代码块是js调用一般处理程序的代理来实现js跨域的。如果js需要多次跨域,推荐下面的方法。 代码如下:public string GetInfo(HttpContext context) { string post = "a=XX&b=XX"; return CreateHttpRequest("https://www.XXXX.com", post, "POST"); } #region 构造请求 /// /// 构造请求 /// /// 请求地址 /// 请求参数 /// 请求方式 /// public string CreateHttpRequest(string requestUrl, string requestParam, strin...