在做项目时,遇到了操作iframe的相关问题。业务很简单,其实就是在操作iframe内部某个窗体时,调用父窗体的一个函数。于是就写了两个很简单的htm页面用来测试,使用网上流行的方法在谷歌浏览器中始终报错,不能通过。
父页面parent.html的代码如下
复制代码 代码如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
</title>
<script src="jquery-1.10.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
function ParentFunction() {
alert('ParentFunction');
}
</script></head>
<body>
<input type="button" id="btnCancel" class="button" value="测试" />
<iframe id="FRMdetail" name="FRMdetail" frameborder="0" src='child.html' style="width:100%;height:100%;" ></iframe>
</body>
</html>
子页面child.html的代码如下
复制代码 代码如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
</title>
<script src="jquery-1.10.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#btnTest").click(function (e) {
var t=window.parent;
t.ParentFunction();
});
})
</script></head>
<body>
<input type="button" id="btnTest" class="button" value="应该获取的值" />rrr
</body>
</html>
网络上流行的方法 var t=window.parent; t.ParentFunction();在IE中能调用,可是在谷歌浏览器中总是提示如下错误,
Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.
网上找了很长时间都没法发现方法,有的也是很早以前的版本,基本上没用了,而且人云亦云,基本上没有测试过。于是自己摸索,后来才发现,谷歌浏览器其实那种方法其实也可以,只是很奇怪,必须发布后才可以,在文件系统中调用,就会出现上边的错误。
其实还有一种html5的方法postMessage,于是就根据着进行了改写,最终代码如下:
父页面parent.html的代码如下
复制代码 代码如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
</title>
<script src="jquery-1.10.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
this.ParentFunction= function() {//和注释掉的方法是一样的,也就是说加不加this都是一样的,因为此处的this就是windows
alert('ParentFunction');
}
// function ParentFunction() {
// alert('ParentFunction');
// }
function receiveMessage(e) {
var data = e.data;
if(data=="ParentFunction")
{
ParentFunction() ;
}
}
if (typeof window.addEventListener != 'undefined') {//使用html5 的postMessage必须处理的
window.addEventListener('message', receiveMessage, false);
} else if (typeof window.attachEvent != 'undefined') {
window.attachEvent('onmessage', receiveMessage);
}
</script></head>
<body>
<input type="button" id="btnCancel" class="button" value="测试" />
<iframe id="FRMdetail" name="FRMdetail" frameborder="0" src='child.html' style="width:100%;height:100%;" ></iframe>
</body>
</html>
子页面child.html的代码如下
复制代码 代码如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>
</title>
<script src="jquery-1.10.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#btnTest").click(function (e) {
var t=window.parent;
if(!t.ParentFunction)//在不支持时,使用html5 的postMessage方法
{
t.postMessage("ParentFunction", '*');
}
else
{
t.ParentFunction();
}
});
})
</script></head>
<body>
<input type="button" id="btnTest" class="button" value="应该获取的值" />rrr
</body>
</html>
经过改写后,在文件系统中虽然也会出现那个错误,但需要调用的方法确实调用了,目的确实达到了,不影响使用了。
相关推荐:
SEO站外优化策略:提升网站排名的关键因素,遵义公司网站推广
未来科技:AI工具为生活赋能,打造智能未来
互联网快排:助力企业网站流量爆发的秘密武器,西安网站建设找资源公司
ChatGPT怎么突然不能打开了?你需要了解的原因与解决办法,ai写作有什么问题吗怎么解决
ChatGPT免登录:轻松畅聊,无需注册,快速体验AI智能助手,眼泪ai
SEO要点:提升网站排名的核心技巧与策略,福田市网站建设推广费用
SEO新站优化指南:快速提升排名的必备技巧,海珠网站推广哪家有名
文章自动生成AI:助力写作新时代,让创作更高效
怎样使用AI写文章:释放创作潜能,提升写作效率
怎么让AI写文章,轻松实现内容创作的智能化
企业营销:如何在竞争激烈的市场中脱颖而出,美装网站Seo优化
GPT怎么收费?揭秘AI技术的定价与价值,ai报考高考
软件AI的全称:人工智能驱动未来的关键力量
ChatGPT故障你从未听过的真相,究竟是什么让它偶尔“失灵”?,ai 图片 矢量
SEO开发:数字营销的核心驱动力,园区网站建设
seo简报什么意思,seo工作汇报 ,万花筒 ai
AI文章比对技术:引领写作与内容审核的新革命,ai智能写作小说免费
seo都有什么意思,seo 啥意思 ,ai园林
什么是seo长尾词,什么是seo长尾词的概念 ,绿茶ai换脸杨超越
亚马逊站内seo是什么优化,亚马逊seo关键词优化软件 ,ai画卡通章鱼
seo网站是什么东西,seo网站是什么东西啊 ,ai锯齿消失
SEO需要什么语音,seo需要考虑什么 ,学生作业ai
ChatGPT页面怎么拖不动?解决问题的终极指南,日韩AI换脸在线观看
SEO外,如何提升网站整体营销效果?,文轩网络营销推广方案
seo用什么论坛引流,seo引流方法 ,ai写作续写神器
SEO刷:让你的网站一夜之间登顶搜索引擎!,独特seo技巧
seo点击工具,seo排名点击软件推荐 ,ai狂躁
SEO快排还有效果吗揭秘快速排名的真相与未来趋势,ai人像波普
怎么识别是AI写的文章
中文润色:提升表达的艺术,打造无懈可击的语言魅力,广告营销推广新思路论文
SEO职责:为网站注入流量,提升品牌竞争力,拼多多女装关键词排名
SEO外链建设:提升网站排名的关键策略,ai偏执
SEO更多-让你的企业站点在搜索引擎中脱颖而出,如何结交seo大神
二级泛站群,zblog二级泛站群 ,李宗盛ai
seo站内优化包括什么营销,seo站内优化操作流程 ,ai 玻璃图标
OpenAIGPT:开启智能时代的语言革命,ai辣妹动漫
AI搜索相似文章怎么做?揭秘高效文章检索的核心技术!,程式ai软件
SEO北京:数字时代,企业成功的关键,湖南网站建设湖南岚鸿
SEO优化流程:助力网站快速提升排名的关键策略,1745ai
OpenPose大白话解释:让你轻松理解姿态识别的神奇技术,ai天天晴
ChatGPT:人工智能对话新时代的领航者,ai音响华为还是小米好
文章缩写AI:高效编辑的未来之光
AI网页版本:开启智能时代的新篇章,拼音标调ai
AI免费免登录:轻松体验人工智能的魔力,无需繁琐注册,华为AI音箱2音质如何
SEO到底怎么做?揭秘从零到精通的完整SEO优化攻略,鸟瞰ai
优化百:开启数字时代的智能营销新时代,湘潭seo优化报价表
SEO走动:提升网站流量的关键一步,SEO数据监控宝宝推荐
SEO能给企业带来什么价值,seo的影响 ,ai蓝衣美女
好用的AI写作软件免费推荐:创作新境界!
ChatGPT连了外网也登不了?如何解决这一问题,重新畅享AI助力!,ai少女大瓜