<h1>用document.domain解决Ajax跨子域</h1>
<h3><a href="http://www.js8.in/443.html">用document.domain+iframe实现Ajax跨子域</a>|<a href="http://www.js8.in/443.html#comments">评论</a></h3>
<p>利用Ajax跨域加载的内容是位于work.js8.in域名下的helloworld.txt。我们需要在主页面中设置document.domain为js8.in,然后主页面添加一个iframe,src为域名work.js8.in下的一个url,在iframe页面中同样设置document.domain为js8.in,同时iframe中需要添加Ajax的函数,例如引入jQuery.js。</p>
<p><input type="button" onclick="crossDomain()" value="开始跨域"/></p>
<div id="ajax">跨域成功此处内容被替换</div>
<iframe src="http://work.js8.in/crossdomain/iframe.html" id="iframe" style="display:none;"></iframe>
<script type="text/javascript">
document.domain = 'js8.in';
function crossDomain(){
var iframe=document.getElementById('iframe').contentWindow.$;
iframe.get("http://work.js8.in/crossdomain/helloworld.txt",function(data){
document.getElementById("ajax").innerHTML=data;
});
}
</script>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>用document.domain+iframe实现Ajax跨子域[demo] </title>
</head>
<script type="text/javascript" src="../public/jquery1.4.js"></script>
<script type="text/javascript">
document.domain = 'js8.in';
</script>
<body><h1><a href="http://www.js8.in/443.html">用document.domain+iframe实现Ajax跨子域</a></h1>
</body>
</html>
分享到:
相关推荐
本文实例讲述了PHP ajax跨子域的解决方案之document.domain+iframe。分享给大家供大家参考,具体如下: 对于主域相同,子域不同,我们可以设置相同的document.domain来欺骗浏览器,达到跨子域的效果。 例如:我们有...
简单的包装程序可以跨子域发出请求。 得到它 对于主持人: 对于网关域: -请参阅文件中的注释。 原料药 以下是用法示例。 假设您有两个要交流的域名 sub1.domain.com(主站) sub2.domain.com sub2.domain.com...
6. **Domain属性(仅限子域)**:在cookies中设置`domain`属性可以实现跨子域共享,但这仅限于同一主域下的子域名之间,对AJAX跨域请求帮助有限。 在实际应用中,开发者通常根据项目需求和服务器环境选择合适的跨域...
JSONP适用于简单请求,CORS更灵活但需要服务器配合,代理服务器则可以完全绕过同源策略,而`document.domain`适用于同一顶级域名下的跨子域场景。在实际应用中,开发者应根据具体情况权衡利弊,选择合适的解决方案。
7.1.3 子域问题 7.1.4 跨浏览器安全性 7.2 使用远程服务进行通信 7.2.1 代理远程服务 7.2.2 使用Web服务 7.3 保护机密数据 7.3.1 中间人 7.3.2 使用安全HTTP 7.3.3 在普通HTTP上使用JavaScript加密数据 7.4 Ajax数据...
4. document.domain:如果主域相同,但子域不同的情况下,可以设置`document.domain`属性为相同的值,以实现跨子域访问。 5. window.postMessage:这是一种在不同源的窗口之间进行异步通信的方法,适用于如iframe、...
1. **跨子域实现** 这种方法利用了`document.domain`属性。假设我们有两个子域:coolkissbh.com和blog.coolkissbh.com。可以通过在两者之间设置相同的`document.domain`(如"coolkissbh.com")来实现跨子域通信。...
- document.domain:原理是让不同子域之间的页面设置相同的domain,实现跨域。这通常用于相同主域名不同子域名的情况。 - iframe:可以将一个域的页面嵌入到另一个域的页面中,实现跨域。但需要注意,设置iframe...
文章中提出的解决方案,即通过修改document.domain来实现跨子域访问,是一种相对简单且古老的方法,适合在没有CORS支持的旧版浏览器中使用。但其使用场景有局限性,通常只适用于子域之间的通信,并且需要对所有参与...
1. 本域和子域的相互访问:当两个资源位于同一主域名但不同的子域名下时,例如***和***,可以通过设置document.domain属性将不同子域的源统一为相同的主域名,从而实现跨域访问。 2. 使用iframe跨域:通过在父页面...
4. 如果是同一主域下的跨子域问题,可以通过设置Cookie的`Domain`属性实现共享。 5. 使用IFrame:通过IFrame加载跨域页面,并通过Window.postMessage进行跨域通信,但这通常仅限于同源策略放宽的情况,或者两个页面...
5. document.domain:当两个页面的顶级域名相同,但子域名不同的情况,可以通过设置`document.domain`使它们视为同源,但这仅限于同一顶级域名下的跨子域。 在提供的压缩包文件中,"ajaxclient"和"ajaxserver"可能...
2. 修改`document.domain`跨子域 当两个页面处于同一主域但不同子域时,可以通过设置`document.domain`来实现跨域通信。例如,`http://www.example.com/a.html`和`http://example.com/b.html`可以通过将`document....
4. document.domain设置:当主域相同,子域不同的情况下,可以将两个页面的`document.domain`都设置为相同的值,从而实现跨子域通信。但这不适用于不同顶级域名的情况。 5. WebSocket跨域:WebSocket协议本身支持...
JSONP适用于简单的GET请求,CORS是现代浏览器推荐的通用方案,代理服务器适用于复杂的后端集成,`document.domain`适用于同一顶级域名下的跨子域,`postMessage`适合页面间的通信,而Webworker则用于后台处理。...
- document.domain:用于跨子域,两个子域必须共享同一个主域且协议和端口相同。 - window.name:所有页面共享同一window.name,可用于跨域数据传递。 - window.postMessage:HTML5新特性,安全地实现跨窗口通信。 -...
4. **Ajax安全分析**:检查使用Ajax技术的Web应用是否存在安全漏洞,如跨站脚本(XSS)或跨站请求伪造(CSRF)。 5. **数据抓取与分析**:收集和分析子域信息,以识别潜在的风险点,如公开的API接口或敏感信息泄露。...
例如,把***和***下的页面document.domain属性都设置为***,这样就使得这两个页面视作同源,进而允许了跨子域的JavaScript调用和Ajax请求。 具体操作如下: 1. 在***和***下的页面顶端添加: ```javascript ...