JS跨域取XML--借助AS的URLLoader
网站建设 2023-01-28 20:48www.1681989.com免费网站
最近接到一个功能拓展需求,新需求中所引用的数据接口却只能提供XML格式……无奈自身功力有限,没有想到JS方面理想的解决方案,只好寻求AS工程师的帮忙,经过近2天的联调,最终解决了各浏览下的跨域访问。
狼蚁网站SEO优化记录demo版代码
父页面HTML
<iframe id="hiddenIframe" style="width:0px; height:0px0; border:0px none; width:1px; height:0px; overflow:hidden;"></iframe>
<button value="获取数据" onclick="getData()"></button>
<!-- 为什么没有直接display:none;或者visibility: hidden;? 【稍后解释:标记】-->
父页面JS:
document.doma = "xxx.";
function getData(data) {
if (data == "" || data == undefed || data == null) {
sendData("a=1&b=2"); //参数格式任意,相当于你get请求时发的参数
}
else {
alert("获取的数据" + data)
} }
function sendData(param) {
var childWdow = document.getElementById('testIframe').contentWdow;
childWdow.sendData(param); //驱动作用,驱动隐藏域内的方法去调用AS中获取XML的API方法
}
function change() {
document.getElementById("testIframe").src = "xx.html"; //隐藏域URL
}
子页面JS
document.doma = "xxx.";
function sendData(paramFromParent) {
var severUrl = 'xxx.';
//此处对paramFromParent进行处理 获得完整的方位xxx.xml的URL
//然后调用AS的URLLoader方法去获取URL下的数据
//获取成功后调用狼蚁网站SEO优化的方法驱动父页面中的getData方法
}
function getData(backData) {
wdow.parent.getData(backData);
}
标记没有用display或者visibility是因为在IE浏览器下,当你的iframe元素设置样式为此两点时候,框架内的JS不进行加载,也就无法进行通信了......
方便理解,上图说话
程序流程
1.加载JS,声明父页面wdow下的sendData和getData方法
2.加载iframe
3.iframe中运行其中的AS代码
4.AS跨域获取xml文件解析处理
5.调用wdow.parent.getData以驱动父页面JS,传递数据解析处理好的数据
狼蚁网站SEO优化记录demo版代码
父页面HTML
复制代码
代码如下:<iframe id="hiddenIframe" style="width:0px; height:0px0; border:0px none; width:1px; height:0px; overflow:hidden;"></iframe>
<button value="获取数据" onclick="getData()"></button>
<!-- 为什么没有直接display:none;或者visibility: hidden;? 【稍后解释:标记】-->
父页面JS:
复制代码
代码如下:document.doma = "xxx.";
function getData(data) {
if (data == "" || data == undefed || data == null) {
sendData("a=1&b=2"); //参数格式任意,相当于你get请求时发的参数
}
else {
alert("获取的数据" + data)
} }
function sendData(param) {
var childWdow = document.getElementById('testIframe').contentWdow;
childWdow.sendData(param); //驱动作用,驱动隐藏域内的方法去调用AS中获取XML的API方法
}
function change() {
document.getElementById("testIframe").src = "xx.html"; //隐藏域URL
}
子页面JS
复制代码
代码如下:document.doma = "xxx.";
function sendData(paramFromParent) {
var severUrl = 'xxx.';
//此处对paramFromParent进行处理 获得完整的方位xxx.xml的URL
//然后调用AS的URLLoader方法去获取URL下的数据
//获取成功后调用狼蚁网站SEO优化的方法驱动父页面中的getData方法
}
function getData(backData) {
wdow.parent.getData(backData);
}
标记没有用display或者visibility是因为在IE浏览器下,当你的iframe元素设置样式为此两点时候,框架内的JS不进行加载,也就无法进行通信了......
方便理解,上图说话
程序流程
1.加载JS,声明父页面wdow下的sendData和getData方法
2.加载iframe
3.iframe中运行其中的AS代码
4.AS跨域获取xml文件解析处理
5.调用wdow.parent.getData以驱动父页面JS,传递数据解析处理好的数据
上一篇:页面重构技能-内容篇
下一篇:HTML标签语义化(含H5)
网站设计
- 静宁会SEO的网站建设公司:全面提升您的网络影
- 提升在线业务的关键:选择最佳的丽水网站建设
- 浙江网站优化发展潜力如何
- 井研专业的网站建设公司:打造您的在线品牌
- 灵山SEO网站建设公司:提升您的在线业务表现
- 蒙城网站建设优化公司:提升您网站表现的理想
- 阳谷企业网站优化:提升线上业务力的关键
- 樟树专业的网站建设公司:打造您在线业务的坚
- 通河百度SEO排名的策略与技巧
- 重庆百度快照排名如何进行精准的客户引流
- 重庆百度快照排名
- 常宁便宜的建站公司:助您轻松打造在线业务
- 巫溪百度网站优化:提升网站曝光率与流量的关
- 湖北整站优化怎么做才能放大客户需求
- 闸北网站建设多少钱?全面解析与预算规划
- 辽宁企业网站优化怎么做电话营销