javascript 调用其他页面的js函数或变量的脚本

要在JavaScript中调用其他页面的函数或变量,有以下两种方法:

1. 使用window.opener对象

当在一个页面中用window.open打开另一个页面时,这个被打开的页面就可以使用window.opener来访问打开它的页面。所以,我们可以利用这个特性来调用父页面的函数或变量。

父页面示例代码:

<!DOCTYPE html>
<html>
<head>
    <title>父页面</title>
</head>
<body>
    <button onclick="openNewPage()">打开子页面</button>
    <script>
        var message = "Hello World!";

        function showMessage() {
            alert(message);
        }

        function openNewPage() {
            window.open("child.html");
        }
    </script>
</body>
</html>

子页面示例代码:

<!DOCTYPE html>
<html>
<head>
    <title>子页面</title>
</head>
<body>
    <button onclick="window.opener.showMessage()">调用父页面函数</button>
    <button onclick="alert(window.opener.message)">调用父页面变量</button>
</body>
</html>

在子页面中,我们可以直接使用window.opener来访问父页面的函数和变量。示例代码中,在子页面中点击调用父页面函数按钮时,会将执行showMessage函数,弹出"Hello World!"的提示窗口;在点击调用父页面变量按钮时,会弹出"Hello World!"的提示窗口。

2. 使用LocalStorage

LocalStorage是浏览器提供的本地存储机制,我们可以利用LocalStorage来在两个页面间传递数据,包括函数和变量。

示例代码:

<!DOCTYPE html>
<html>
<head>
    <title>页面1</title>
    <script>
        var message = "Hello World!";

        function showMessage() {
            alert(message);
        }

        function saveMessage() {
            localStorage.setItem("message", message);
        }
    </script>
</head>
<body>
    <h1>页面1</h1>
    <button onclick="showMessage()">显示消息</button>
    <button onclick="saveMessage()">保存消息到LocalStorage</button>
    <a href="page2.html">进入页面2</a>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
    <title>页面2</title>
    <script>
        function showMessageFromLocalStorage() {
            alert(localStorage.getItem("message"));
        }
    </script>
</head>
<body onload="showMessageFromLocalStorage()">
    <h1>页面2</h1>
    <button onclick="window.location.href='page1.html'">返回页面1</button>
</body>
</html>

在页面1中,我们定义了一个变量message和一个函数showMessage,并且提供了一个保存消息到LocalStorage的函数saveMessage。在页面2中,我们定义了一个从LocalStorage中读取消息并弹出提示框的函数showMessageFromLocalStorage,因为这个函数要在页面加载时就执行,所以我们使用了onload事件。

当在页面1中点击保存消息按钮时,将会把变量message保存到LocalStorage中。当点击进入页面2按钮时,跳转到页面2,此时页面2的onload事件将会执行showMessageFromLocalStorage函数,从LocalStorage中读取message变量并弹出提示框。

以上两种方法都能够实现在JavaScript中调用其他页面的函数和变量,不同的是使用window.opener需要在父子页面中建立起关系,而使用LocalStorage则不受页面之间的关系限制。选择哪一种方法取决于具体场景的需求。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript 调用其他页面的js函数或变量的脚本 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • 关于ES6字符串的扩展详解

    关于ES6字符串的扩展详解 一、字面量增强 ES6的字符串新增了两个语法糖:`和`。 使用`可以很方便地定义多行字符串,例如: const str = `这是一个 多行字符串 `; 这样可以在一行中定义多行字符串,避免了手动添加换行符。 使用`可以很方便地嵌入变量或表达式,例如: const name = ‘Bob’; const str = `你好,${n…

    JavaScript 2023年5月28日
    00
  • JS+HTML5手机开发之滚动和惯性缓动实现方法分析

    JS+HTML5手机开发之滚动和惯性缓动实现方法分析 简介 在移动端开发中,实现滚动和惯性缓动是非常常见的功能,本文将基于JS和HTML5,详细讲解实现这一功能的方法和实现过程。本文中的代码及示例在iOS和Android均测试通过。 方法分析 滚动和惯性缓动可以通过使用CSS3的transform属性进行实现,如下所示: .container { trans…

    JavaScript 2023年6月11日
    00
  • 动态载入/删除/更新外部 JavaScript/Css 文件的代码

    当我们在进行网站前端开发时,常常需要在页面中引入外部的JavaScript和CSS文件来进行样式和交互效果的实现。而有时候我们需要在页面运行过程中动态地载入、删除、更新这些外部文件,这时就需要用到JavaScript语言来实现了。 在JavaScript中,利用document对象的createElement方法可以动态地创建新的外部文件节点,再利用appe…

    JavaScript 2023年5月27日
    00
  • js对象的比较

    JS对象的比较主要是指对象之间的比较。在JS中,两个对象即使生成了相同的属性和方法,也不是同一个对象。所以需要进行对象的比较时,需要使用特定的方法进行比较,以下是详细的攻略。 对象比较的方法 对象比较主要涉及两种方法: 1. 双等号(==)比较 双等号比较只会比较两个对象的值,不会比较它们是否引用同一块内存。 示例代码: const obj1 = { nam…

    JavaScript 2023年5月27日
    00
  • javascript格式化日期时间函数

    JavaScript 格式化日期时间函数 JavaScript 提供了几个内置函数,用于格式化日期和时间。您可以使用这些函数轻松地格式化日期和时间。 Date 对象 跟踪时间是计算机编程中的一个常见任务。JavaScript 提供了日期对象来处理日期和时间。 创建一个日期对象有几种方法: let date = new Date(); 这个语句创建了一个包含当…

    JavaScript 2023年5月27日
    00
  • asp.net 操作cookie的简单实例

    下面我将详细讲解“ASP.NET 操作 Cookie 的简单实例”完整攻略。 1. 什么是 Cookie? Cookie 是一种被网站服务器发送给用户浏览器的短文本字符串,通常用于记录用户的一些信息,如用户名、购物车信息等等。它被浏览器保存并用于后续的请求中,让网站能够更好地向用户提供服务。 2. ASP.NET 如何操作 Cookie? ASP.NET 中…

    JavaScript 2023年6月10日
    00
  • 基于HTML5的齿轮动画特效

    下面我将为你详细讲解“基于HTML5的齿轮动画特效”的完整攻略。 理解齿轮运动原理 在制作齿轮动画特效之前,我们需要先理解齿轮运动的原理。简单地说,齿轮是一种能够传递转动的力量或运动的机械装置。同时,两个以上的齿轮之间可以利用齿轮齿与齿间的啮合来传递力量,实现特定的运动方式。 创建HTML结构 在 HTML 页面上创建齿轮的结构。我们使用 <ul&gt…

    JavaScript 2023年6月11日
    00
  • JavaScript setTimeout和setInterval的用法与区别详解

    JavaScript setTimeout和setInterval的用法与区别详解 setTimeout()和setInterval()是JavaScript中的两个重要函数,它们都用于实现JavaScript中的定时器。通常,我们使用这两个函数来延迟执行一段代码或者重复执行一段代码。但是setTimeout()和setInterval()用法和区别还是有很…

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