在js中,我们时常用到用iframe做系统框架,在子页面也,父页面之间的值传递是一个问题,下面是js获取父窗体和子窗体的对象js:1.在iframe子页面中获取父页面的元素: a>window.parent.document这个是获取父页面document中的对象; b>如果要获取父页面js中的方法:window.parent.xxxx();xxxx()为方法;2.在父页面中获取iframe子页面中的元素: a> var child = document.getElementByIdx_x("mainFrame").contentWindow;//mainFrame这个id是父页面iframe的id child.document;//获取子页面中的document对象;
<script>
window.ahtml = null;function alerta(){
alert(window.ahtml);
}
setTimeout(function(){alerta(); });
</script>
a.html 里面这样写<script>
window.top.ahtml = '{"php":"11111","asp":"22222","html":"333333"}';
</script>
alert(frames["abc"].document.getElementsByTagName("html")[0].outerHTML)
a.html里的内容是别人提供的api,没办法修改,只知道返回的格式是
{"php":"11111","asp":"22222","html":"333333"}
你看一下,<iframe id='abc' scrolling='auto' frameborder='0' src='a.html'></iframe>
<script>
alert(frames["abc"].document.getElementsByTagName("html")[0].outerHTML)
</script>
a.html内容如下。{"php":"11111","asp":"22222","html":"333333"}
用 ajax 来获取数据
搜索 ajax
一定要用iframe我不太清楚,但是 a.html里的内容是必须打开了,才会显示内容,如果直接用程序请求,是空的
a.html里的内容是别人提供的api,没办法修改,只知道返回的格式是
{"php":"11111","asp":"22222","html":"333333"}
跨域了,无法操作iframe的。。你要修改过iframe加载的地址,改成你自己的php代理页,这个php代理页面负责获取跨域的数据输出
a.html里的内容是别人提供的api,没办法修改,只知道返回的格式是
{"php":"11111","asp":"22222","html":"333333"}
跨域了,无法操作iframe的。。你要修改过iframe加载的地址,改成你自己的php代理页,这个php代理页面负责获取跨域的数据输出除了这个方法 还有其它办法么
a.html里的内容是别人提供的api,没办法修改,只知道返回的格式是
{"php":"11111","asp":"22222","html":"333333"}
跨域了,无法操作iframe的。。你要修改过iframe加载的地址,改成你自己的php代理页,这个php代理页面负责获取跨域的数据输出除了这个方法 还有其它办法么你不能控制那个页面就只有这种办法,可以控制办法就好多了,楼上已经说了