iframe跨域(二级域名)

有a.ceshi.com通过iframe加载b.ceshi.com下的内容,通过对两个子域下的页面同时设置document.domian设置为相同的主域名可实现跨域读取数据:

a.ceshi.com页面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>ceshi1</title>
</head>
<body>
    我是1
<div id="box1"></div>
<script type="text/javascript">
//设置主域
document.domain = ‘ceshi.com‘;
var iframe = document.createElement("iframe");
iframe.style.display = ‘none‘;
//拉取b.ceshi.com内容
iframe.src = "http://b.ceshi.com";
document.body.appendChild(iframe);

//判断是否加载完成
if (iframe.attachEvent){
    iframe.attachEvent("onload", function(){
        alert("Local iframe is now loaded.");
        alert(iframe.contentWindow.document.body.innerHTML)
        document.getElementById(‘box1‘).innerHTML = iframe.contentWindow.document.body.innerHTML;
    });
} else {
    iframe.onload = function(){
        alert("Local iframe is now loaded.");
        alert(iframe.contentWindow.document.body.innerHTML)
        document.getElementById(‘box1‘).innerHTML = iframe.contentWindow.document.body.innerHTML;
    };
}
</script>
</body>
</html>

b.ceshi.com页面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>ceshi2</title>
</head>
<body>
    我是2
<script type="text/javascript">
//设置主域
document.domain = ‘ceshi.com‘;
</script>
</body>
</html>

这样就可以从a.ceshi.com读取到b.ceshi.com的内容了。

至于通过iframe跨不同主域名的,待续。。。

时间: 2025-01-17 17:16:38

iframe跨域(二级域名)的相关文章

Iframe简单探索以及Iframe跨域处理

探索Iframe 本文目的: Iframe简单使用 Iframe跨域 Iframe常见问题 一.Iframe基本Dom以及常用属性和常用事件 1.DOM: <iframe class="iframe" style="height: 100%;width: 100%;border: 0;" id="Yiframe" name="Yiframe" src='http://localhost:2255/67iframe-2.h

JS跨域(ajax跨域、iframe跨域)解决方法及原理详解(jsonp)

这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被当作是不同的域. 下表给出了相对 http://store.company.com/dir/page.html 同源检测的结果: 要解决跨域的问题,我们可以使用以下几种方法: 1.通过jsonp跨域[解决ajax跨域] 在js中,我们直接用XMLHttpRequest请求不同域上的数据时,是不可以的

利用window.name+iframe跨域获取数据详解

详解 前文提到用jsonp的方式来跨域获取数据,本文为大家介绍下如何利用window.name+iframe跨域获取数据. 首先我们要简单了解下window.name和iframe的相关知识.iframe是html的一个标签,可以在网页中创建内联框架,有个src属性(指向文件地址,html.php等)可以选择内联框架的内容,可以看个例子(猛戳这里),大概了解下就行了.window.name(一般在js代码里出现)的值不是一个普通的全局变量,而是当前窗口的名字,这里要注意的是每个iframe都有包

iframe跨域访问

js跨域是个讨论很多的话题.iframe跨域访问也被研究的很透了. 一般分两种情况: 一. 是同主域下面,不同子域之间的跨域: 同主域,不同子域跨域,设置相同的document.domian就可以解决; 父页访问子页,可以document.getElementById("myframe").contentWindow.document来访问iframe页面的内容:如果支持contentDocument也可以直接document.getElementById("myframe&

Iframe跨域Session丢失的问题(大家是怎么解决的)

很久之前做的一个使用插件实现了图片批量上传,是通过IFrame加载上传面板的,使用google上传成功了就没怎么理了,最近同事测试时(使用的是360安全浏览器)老是出现上传不了图片的问题,然后换个浏览器上传就成功了. 于是, 今天就下载360安全浏览器测试一下,一调试,坑爹啊,我的session丢失了,网上查了一下,没解决, 最后只想到通过url传递参数的方法解决了.不知道大伙有没遇到过这样的问题,还有怎么解决的 Iframe跨域Session丢失的问题(大家是怎么解决的),布布扣,bubuko

js iframe跨域访问

1.同主域下不同子域之间的跨域请求  使用document.domain 比如:morningstar.com 和test.morningstar.com 只要把两个页面 的document.domain都指向主域就可以了,比如document.domain='morningstar.com' <!-- morningstar.com/parent.html --> <iframe id="ifr" src="http://test.morningstar.

iframe 跨域自适应 纯css解决方法

<style type="text/css">body{background:#f00;}body, html,#ifm1{width:100%;height:100%;overflow:hidden;margin:0;}#ifm1{width:100%;height:100%;overflow:hidden;margin:0;}</style><iframe id="ifm1" src='http://www.csdn.net' fr

解决Iframe跨域高度自适应,利用window.postMessage()实现跨域消息传递页面高度(JavaScript)

在iframe跨域引用高度自适应这块写的js方式都试了不管用,最终使用的是window.postMessage() 跨域获取高度 传递信息 1.首先,在主页面上使用iframe引入子页面:也就是A.html页面引入B.html页面,下面看看A.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head>

关于iFrame特性总计和iFrame跨域解决办法

1.iframe 定义和用法 iframe 元素会创建包含另外一个文档的内联框架(即行内框架). HTML 与 XHTML 之间的差异 在 HTML 4.1 Strict DTD 和 XHTML 1.0 Strict DTD 中,不支持 iframe 元素. 提示和注释: 提示:您可以把需要的文本放置在 <iframe> 和 </iframe> 之间,这样就可以应对无法理解 iframe 的浏览器. iframe标签是成对出现的,以<iframe>开始,</ifr