Javscript调用iframe框架页面中函数的方法

yizhihongxing

当一个网页中包含有一个或多个iframe时,如果我们想要在外部JS文件中调用这个iframe中的函数,我们可以通过以下两种方法来实现。

方法一:使用window.frames[index].functionName()

使用window.frames可以获取网页中所有的iframe,它返回的是一个加了编号的数组,每个数组元素代表一个iframe,编号从0开始。在获取到iframe之后,我们可以通过在它后面加上其内部元素的id或名称来获取到对应的元素,再使用.调用函数。

//获取第一个iframe中的元素,并调用该元素中的函数
window.frames[0].document.getElementById("elementId").functionName();

方法二:在iframe框架内定义window.parent

在iframe框架内,我们可以使用父页面的window.parent方法获取到父页面中的全局对象,从而就可以在父页面中调用到iframe中定义的函数。

示例一:调用从属于父页面window对象中的函数

<!-- 父页面 index.html -->
<!DOCTYPE html>
<html>
<head>
    <title>主页</title>
</head>
<body>
    <iframe src="./iframe.html" id="iframe1" width="100%" height="480" frameborder="0">
    </iframe>    
    <script type="text/javascript">
        function sayHello() {
            alert('hello');
        }
    </script>
</body>
</html>
<!-- 子页面 iframe.html -->
<!DOCTYPE html>
<html>
<head>
    <title>iframe 页面</title>
</head>
<body>
    <button onclick="doParent()">点击弹窗</button>
    <script type="text/javascript">
        //从属于父页面window对象中的函数
        function doParent() {
            window.parent.sayHello();   
        }
    </script>
</body>
</html>

在这里,我们在子页面iframe.html里定义了一个函数doParent(),当我们在iframe中点击按钮时,它会执行函数并通过window.parent方法获取到父页面的全局对象window。然后,我们可以调用父页面中定义的函数,最终成功弹出窗口。

示例二:调用从属于iframe框架页面中的函数

<!-- 父页面 index.html -->
<!DOCTYPE html>
<html>
<head>
    <title>主页</title>
</head>
<body>
    <iframe src="./iframe.html" id="iframe1" width="100%" height="480" frameborder="0">
    </iframe>    
</body>
</html>
<!-- 子页面 iframe.html -->
<!DOCTYPE html>
<html>
<head>
    <title>iframe 页面</title>
</head>
<body>
    <button onclick="sayHello()">点击弹窗</button>
    <script type="text/javascript">
        //从属于 iframe 页面中的函数
        function sayHello() {
            alert('hello');
        }
    </script>
</body>
</html>

在这里,我们相当于直接在iframe.html中,定义了一个函数而没有定义在父页面上,也就是说我们可以直接调用当前iframe网页中的函数。

最后,需要注意一下,使用iframe调用函数和调用普通的函数是有一些差别的,主页面中的JS代码操作在父页面执行,而iframe中自己的JS代码操作需要在子页面中执行。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Javscript调用iframe框架页面中函数的方法 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • 用户注册常用javascript代码

    下面是详细讲解“用户注册常用JavaScript代码”的攻略。 JavaScript代码说明 在用户注册界面,常用的JavaScript代码包括表单验证、密码强度检查和数据存储。 表单验证 表单验证是用户注册中必不可少的一部分,其目的是避免用户输入无效、错误或不想要的信息。常用的表单验证方法有以下几种: required属性:该属性用于添加必填项标记。 正则…

    JavaScript 2023年6月10日
    00
  • JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型

    JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型 学习目标 1.了解JS中的7种数据类型 2.掌握“==”和“===”的区别和使用 3.掌握JS中数据类型转换的规则 7种数据类型 在JS中,一共有7种数据类型:undefined、null、布尔、数字、字符串、对象和符号。其中,前六种是基本数据类型,后面会详细介绍对象类型。 undefi…

    JavaScript 2023年5月17日
    00
  • Javascript调试之console对象——你不知道的一些小技巧

    下面给出完整的“Javascript调试之console对象——你不知道的一些小技巧”攻略。 什么是console对象? console 是一个 Javascript 语言内置的全局对象,提供了很多用于调试和输出信息的方法。 常见的几个方法 log() log() 方法是最常用的方法之一,可以把一些信息打印到控制台。例如: console.log(‘Hell…

    JavaScript 2023年5月28日
    00
  • JS将unicode码转中文方法

    将 Unicode 码转换为对应中文字符的方法,通常使用 JavaScript 中的 String.fromCharCode() 方法。该方法能够将 Unicode 码值转换为对应字符,需要传入 Unicode 码值(数值形式)作为参数,返回对应的字符。 下面是将 Unicode 码转换为对应中文字符的示例: 示例 1: const unicodeStr =…

    JavaScript 2023年5月19日
    00
  • JavaScript encodeURI 和encodeURIComponent

    JavaScript提供了两个用于URL编码的方法:encodeURI()和encodeURIComponent()。 encodeURI() encodeURI()方法用于将整个URL编码,包括特殊字符,但不包括以下字符:/、?、&、=和#。编码后的字符是%xx,其中xx是字符的ASCII十六进制值。 下面是一个使用encodeURI()的示例: …

    JavaScript 2023年5月19日
    00
  • 详解js实时获取并显示当前时间的方法

    当我们开发网页时,有时需要在页面上显示当前的时间。下面是使用JavaScript实时获取并显示当前时间的三种方法。 方法1:使用setInterval()函数 setInterval()函数可以每隔一定时间间隔执行一次function中的代码。我们可以使用这个函数每秒钟更新时间。 <!DOCTYPE html> <html> <…

    JavaScript 2023年5月27日
    00
  • js实现图片实时时钟

    实现图片实时时钟的完整攻略如下。 一、准备工作 引入jQuery库 “` 2. 在HTML页面中添加img标签,并设置id和src属性 3. 创建一个空的div容器,用于存放数字图片 4. 在css文件中设置图片的宽度和高度 #clock { width: 150px; height: 150px; } “` 二、代码实现 获取当前时间 var date…

    JavaScript 2023年5月27日
    00
  • ASP.NET MVC5网站开发之用户添加和浏览2(七)

    《ASP.NET MVC5网站开发之用户添加和浏览2(七)》是一篇系列文章中的一篇,主要介绍了如何在ASP.NET MVC5网站中实现用户添加和浏览功能。该文章主要分为以下几部分: 实现用户添加功能。 实现用户浏览功能。 使用Bootstrap样式美化界面。 具体攻略如下: 实现用户添加功能 步骤如下: 在MVC项目的Controller文件夹下创建User…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部