什么是跨域? 概念:只要协议、域名、端口有任何一个不同,都被当作是不同的域。代码如下: URL 说明 是否允许通信 http://www.a.com/a.js http://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a.js http://www.a.com/script/b.js 同一域名下不同文件夹 允许 http://www.a.com:8000/a.js http://www.a.com/b.js 同一域名,不同端口 不允许 http://www.a.com/a.js https://www.a.com/b.js 同一域...
做Web开发经常需要面对跨域问题,跨域问题的根源是浏览器安全中的同源策略,比如说,对于http://www.a.com/1.html来说: 1.http://www.a.com/2.html是同源的; 2.https://www.a.com/2.html是不同源的,原因是协议不同; 3.http://www.a.com:8080/2.html是不同源的,原因是端口不同; 4.http://sub.a.com/2.html是不同源的,原因是主机不同。 在浏览器中,<script>、<img>、<iframe>和<link>这几个标签是可以加载跨域(非同源)的资...
获取IP地址,JS也可以获取客户端IP地址啦,大家知道JS不能跨域,所以这里借助了jquery,真的可以实现获取IP地址,代码如下,已通过测试: <script language="javascript" src="//www.gxlcms.com/jslib/jquery/jquery.js"></script> <script language="javascript"> jQuery(function($){ var url = http://chaxun.1616.net/s.php?type=ip&output=json&callback=?&_=+Math.random(); $.getJSON(url, function(data){ alert(data...
代码如下:<div id="oid"></div> <script type="text/javascript"> //获取货号 $.ajax({ url: "http://192.168.1.191/H.ashx", type: "GET", dataType: jsonp, //jsonp的值自定义,如果使用jsoncallback,那么服务器端,要返回一个jsoncallback的值对应的对象. jsonp: jsoncallback, //要传递的参数,没有传参时,也一定要写上 data: null, timeout: 5000, //返回Json类型 contentType: "application/json;utf-8", //服务器段返回的对象...
这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域下的内容。JavaScript这个安全策略在进行多iframe或多窗口编程、以及Ajax编程时显得尤为重要。根据这个策略,在baidu.com下的页面中包含的JavaScript代码,不能访问在google.com域名下的页面内容;甚至不同的子域名之间的页面也不能通过JavaScript代码互相访问。对于Ajax的影响在于,通过XMLHttpRequest实现的Ajax请求,...
JavaScript由于同源策略的限制,跨域通信一直是棘手的问题。当然解决方案也有很多: 1.document.domain+iframe的设置,应用于主域相同而子域不同; 2.利用iframe和location.hash,数据直接暴露在了url中,数据容量和类型都有限 3.Flash LocalConnection, 对象可在一个 SWF 文件中或多个 SWF 文件间进行通信, 只要 在同一客户端就行,跨应用程序, 可以跨域。 window.name 保存数据以及跨域 iframe 静态代理动态传输方案,充分的运...
下表给出了相对http://store.company.com/dir/page.html同源检测的结果: 要解决跨域的问题,我们可以使用以下几种方法: 一、通过jsonp跨域 在js中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以的。但是,在页面上引入不同域上的js脚本文件却是可以的,jsonp正是利用这个特性来实现的。 比如,有个a.html页面,它里面的代码需要利用ajax获取一个不同域上的json数据,假设这个json数据地址是http://example.com/dat...
login.html 代码如下:<script> function request(id,url){ oScript = document.getElementById(id); var head = document.getElementsByTagName("head").item(0); if (oScript) { head.removeChild(oScript); } oScript = document.createElement("script"); oScript.setAttribute("src", url); oScript.setAttribute("id",id); oScript.setAttribute("type","text/javascript"); oScr...
需求一:主页面A 怎么向 iframe B 传递数据呢? 这种方式,是主页面需要给 iframe B 传递数据,然后 iframe B 获得到数据后进行特定的处理 实现方式 实现的技巧就是利用 location 对象的 hash 值,通过它传递通信数据,我们只需要在主页面A中设置 iframe B 的 src 后面多加个 #data 字符串(data就是你要传递的数据),如下图所示: 然后在 iframe B 中通过某种方式能即时的获取到这儿 data 就可以了,其实常用的一种方式就是: 1....
代码如下: <h1>手机号码归属地查询</h1> <div class="outer"> <p>请输入手机号码</p> <input type="text" > <span class="button">查询</span> <span class="error">号码有误 或 无数据</span> <ul> <li class="num">手机号码: <span></span></li> <li class="province">归属省份: <span></span></li> <li class="operators">运 营 商: <...
.net代码 代码如下:<system.webServer> ...... .... <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Max-Age" value="3600" /> <add name="Access-Control-Allow-Headers" value="Content-Type, Accept, MaxDataServiceVersion" /> <add name="Access-Control-Allow-Methods" value="PUT, POST, GET, DELETE, MERGE, OPTIONS" /> </customHeaders> </ht...
在页面上使用iframe来动态加载页面内容是网页开发中比较常见的方法。在父页面中给定一个不带滚动条的iframe,然后对属性src指定一个可加载的页面,这样当父页面被访问的时候,子页面可以被自动加载。iframe的高度需要根据子页面的实际高度来进行调整。如果iframe的高度小于子页面的实际高度,超出的部分无法显示;相反,如果iframe的高度过高,则页面上会出现大量的空白区域。我们可以通过属性或者CSS来设置iframe的高度,当不确定...
代码如下:/* $.ajax({ url : url, type : POST, data : { CorpID : CorpID, Pwd : Pwd, Mobile : Mobile, Content : Content, Cell : , SendTime : }, async : true,//异步 dataType : text,//text,jsonp success : function(data, textStatus) { //alert(data); ...
一、一些概念 ①传统Ajax:交互的数据格式——自定义字符串或XML描述;跨域——通过服务器端代理解决。 ②如今最优方案:使用JSON格式来传输数据,使用JSONP来跨域。 ③JSON:一种数据交换格式。基于纯文本、被原生JS支持。 格式:两种数据类型描述符:大括号{ }、方括号[ ]。分隔符逗号、映射符冒号、定义符双引好。 ④JSONP:一种跨域数据交互协议,非官方。1、Web页面调用js文件,可跨域。扩展:但凡有src属性的标签都具有跨...
在之前一篇文章里尝试了跨浏览器的数据共享,最后提到使用LocalConnection还可以实现跨浏览器消息交互的可行性。花了两个晚上简略的研究了下,LocalConnection的单向通信非常的简单,不过要实现多个终端交互,必须自己实现一套消息机制,见智见仁了。为了简单演示,本例使用了基于广播的观察者模式:每个终端可以订阅自己感兴趣的主题,也可以向广播发送消息,通知其他感兴趣的终端。Demo: http://www.etherdream.com/FunnyScript/...