Iframe框架的各种操作,专治各种不服

2024-03-05 07:38

本文主要是介绍Iframe框架的各种操作,专治各种不服,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

脚本操作框架页面
测试环境IE6、IE9、火狐
JQUERY引用地址

一、IFRAME框架

页面示例

        <iframe id="ifr1"  frameborder="1" scrolling="no"   src="H16-1.htm" style="width: 45%; height: 
250px"></iframe> 
<iframe id="ifr2" frameborder="1" scrolling="no"   src="H16-2.htm" style="width: 45%; height: 
250px"></iframe>

父页面包含两个子框架 分别是 IFR1 IFR2

1父页面调用子页面

A、父页面获取IFR1框架内的文本框并且写入内容

        var obj = document.getElementById("ifr1").contentWindow;  
//JQUERY方法 
//$("#txt1",obj.document).val("父页面写入子页面" + Math.floor(Math.random()*1000)); 
//JAVASCRIPT方法 
obj.document.getElementById("txt1").value = "11父页面写入子页面" + 
Math.floor(Math.random()*1000);

B、父页面调用框架页面的函数AddMsg为IFR1框架内的

函数

        var obj = document.getElementById("ifr1").contentWindow;  
obj.AddMsg("父页面调用子页面函数写入信息" + Math.floor(Math.random()*1000));

C、父页面重写子框架链接


//重写子框架链接

        //JQUERY方法 
//$("#ifr1").attr("src",$("#ifr1").attr("src")); 
//JAVASCRIPT方法 
window.document.getElementById("ifr1").src = window.document.getElementById("ifr1").src;

D、使用[]方式获取框架对象

        //使用[]方式获取框架对象 
//JQUERY方法 
//$(window.frames["ifr1"].document).find("input[type='radio']").attr("checked","true"); 
//JAVASCRIPT方法 
window.frames["ifr1"].document.getElementById("txt1").value = "11这是父页面写入的内容";

2框架页操作父页面

A、获取父页面元素并且赋值

        //获取父页面元素  并且写入数据 
//JQUERY方法 
//$("#msg",parent.window.document).html("获取父页面元素并且写入数据" + 
Math.random()); 
//JAVASCRIPT方法 
parent.window.document.getElementById("msg").innerHTML = "11获取父页面元素并且写入
数据" + Math.random();

B、调用父页面函数

        //调用父页面函数  AddMsg---父页面函数 
parent.window.AddMsg("11调用父页面函数写入内容" + Math.random());

3兄弟框架互操作

A、获取兄弟框架元素并赋值

        //获取兄弟框架元素 并且写入数据  IFR2获取IFR1中的元素 
//JQUERY方法 
//$("#ifr1",parent.document).contents().find("#txt2").val("这是框架IFR2写入的" + 
Math.random()); 
//JAVASCRIPT方法 
parent.document.getElementById("ifr1").contentWindow.document.getElementById("txt2").value = "11这是框架IFR2写入的" + Math.random();

B、调用兄弟框架函数

        //调用兄弟框架函数  IFR2调用IFR1中的函数 
//JQUERY方法 
//$("#ifr1",parent.document)[0].contentWindow.AddMsg("这也是框架2调用1的函数写入的" + 
Math.random()); 
//JAVASCRIPT方法 
parent.document.getElementById("ifr1").contentWindow.AddMsg("11这也是框架2调用框架1
的函数写入的" + Math.random());

二、FRAMESET框架

页面示例

        <frameset id="framesx" border="1" frameSpacing="5" rows="165,*" frameBorder="1" 
runat="server" width="100%"> <frame id="ifr1" name="ifr1" frameSpacing="5" marginWidth="0" marginHeight="0" 
src="h16a-1.htm" noResize scrolling="no" target=""> <frameset id="mainframe"  border="1" frameSpacing="5"  frameBorder="1"   cols 
="50%,50%" runat="server"> <frame id="ifr2" name="ifr2" marginWidth="20%" marginHeight="100px" 
src="h16a-2.htm" noResize scrolling="no"> <frame width="100%"  id="ifr3" name="ifr3" marginWidth="0" marginHeight="0" 
src="h16a-3.htm" noResize scrolling="auto"> </frameset> 
</frameset>

页面分为上--左右模式 上面是IFFR1 左面是IFR2 右面是IFR2

在火狐测试时发现必须使用NAME属性建议将ID和NAME设置为

相同的名字

1获取其他框架元素并赋值

本例通过上部页面IFR1操作左侧页面IFR2

        //JQUERY方法 
//$("#div",window.parent.frames["ifr2"].document).html("获取兄弟框架并且写入数据" + 
Math.random()); 
//JAVASCRIPT方法 
window.parent.frames["ifr2"].document.getElementById("div").innerHTML = "1获取兄弟框架并且写入数据" + Math.random();


2调用其他框架页面函数

        //JQUERY 
//$(window.parent.frames["ifr2"])[0].add("调用兄弟框架函数"); 
//JAVASCRIPT方法 
window.parent.frames["ifr2"].add("调用兄弟框架函数11");

这篇关于Iframe框架的各种操作,专治各种不服的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/775756

相关文章

cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个?

跨平台系列 cross-plateform 跨平台应用程序-01-概览 cross-plateform 跨平台应用程序-02-有哪些主流技术栈? cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个? cross-plateform 跨平台应用程序-04-React Native 介绍 cross-plateform 跨平台应用程序-05-Flutte

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

数据治理框架-ISO数据治理标准

引言 "数据治理"并不是一个新的概念,国内外有很多组织专注于数据治理理论和实践的研究。目前国际上,主要的数据治理框架有ISO数据治理标准、GDI数据治理框架、DAMA数据治理管理框架等。 ISO数据治理标准 改标准阐述了数据治理的标准、基本原则和数据治理模型,是一套完整的数据治理方法论。 ISO/IEC 38505标准的数据治理方法论的核心内容如下: 数据治理的目标:促进组织高效、合理地

ZooKeeper 中的 Curator 框架解析

Apache ZooKeeper 是一个为分布式应用提供一致性服务的软件。它提供了诸如配置管理、分布式同步、组服务等功能。在使用 ZooKeeper 时,Curator 是一个非常流行的客户端库,它简化了 ZooKeeper 的使用,提供了高级的抽象和丰富的工具。本文将详细介绍 Curator 框架,包括它的设计哲学、核心组件以及如何使用 Curator 来简化 ZooKeeper 的操作。 1

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

Spring Framework系统框架

序号表示的是学习顺序 IoC(控制反转)/DI(依赖注入): ioc:思想上是控制反转,spring提供了一个容器,称为IOC容器,用它来充当IOC思想中的外部。 我的理解就是spring把这些对象集中管理,放在容器中,这个容器就叫Ioc这些对象统称为Bean 用对象的时候不用new,直接外部提供(bean) 当外部的对象有关系的时候,IOC给它俩绑好(DI) DI和IO

动手学深度学习【数据操作+数据预处理】

import osos.makedirs(os.path.join('.', 'data'), exist_ok=True)data_file = os.path.join('.', 'data', 'house_tiny.csv')with open(data_file, 'w') as f:f.write('NumRooms,Alley,Price\n') # 列名f.write('NA

线程的四种操作

所属专栏:Java学习        1. 线程的开启 start和run的区别: run:描述了线程要执行的任务,也可以称为线程的入口 start:调用系统函数,真正的在系统内核中创建线程(创建PCB,加入到链表中),此处的start会根据不同的系统,分别调用不同的api,创建好之后的线程,再单独去执行run(所以说,start的本质是调用系统api,系统的api

Sentinel 高可用流量管理框架

Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。 Sentinel 具有以下特性: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应

Java IO 操作——个人理解

之前一直Java的IO操作一知半解。今天看到一个便文章觉得很有道理( 原文章),记录一下。 首先,理解Java的IO操作到底操作的什么内容,过程又是怎么样子。          数据来源的操作: 来源有文件,网络数据。使用File类和Sockets等。这里操作的是数据本身,1,0结构。    File file = new File("path");   字