如何跨html调用js函数调用

要实现跨HTML页面调用JavaScript函数,可以采用以下几种方法:

如何跨html调用js函数调用
(图片来源网络,侵删)

1、使用window.opener对象

当一个HTML页面通过window.open()方法打开另一个HTML页面时,被打开的页面可以通过window.opener对象访问打开它的页面的JavaScript函数,有两个HTML页面:parent.htmlchild.html,在parent.html中,我们通过window.open()方法打开child.html,然后在child.html中调用parent.html的JavaScript函数。

parent.html代码示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF8">
    <meta name="viewport" content="width=devicewidth, initialscale=1.0">
    <title>Parent Page</title>
</head>
<body>
    <h1>Parent Page</h1>
    <button onclick="openChildPage()">Open Child Page</button>
    <script>
        function openChildPage() {
            window.open('child.html', '_blank');
        }
        function showMessage() {
            alert('Hello from parent page!');
        }
    </script>
</body>
</html>

child.html代码示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF8">
    <meta name="viewport" content="width=devicewidth, initialscale=1.0">
    <title>Child Page</title>
</head>
<body>
    <h1>Child Page</h1>
    <button onclick="callParentFunction()">Call Parent Function</button>
    <script>
        function callParentFunction() {
            window.opener.showMessage();
        }
    </script>
</body>
</html>

2、使用postMessageonmessage事件

通过window.postMessage()方法,我们可以在不同的HTML页面之间发送消息,接收方可以通过监听onmessage事件来接收消息并执行相应的操作,有两个HTML页面:parent.htmlchild.html,在parent.html中,我们通过window.open()方法打开child.html,然后在child.html中通过postMessageparent.html发送消息,parent.html监听到消息后执行相应的JavaScript函数。

parent.html代码示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF8">
    <meta name="viewport" content="width=devicewidth, initialscale=1.0">
    <title>Parent Page</title>
</head>
<body>
    <h1>Parent Page</h1>
    <button onclick="openChildPage()">Open Child Page</button>
    <script>
        function openChildPage() {
            var childWindow = window.open('child.html', '_blank');
            childWindow.addEventListener('message', function(event) {
                if (event.origin === 'http://localhost') {
                    showMessage();
                }
            });
        }
        function showMessage() {
            alert('Hello from parent page!');
        }
    </script>
</body>
</html>

child.html代码示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF8">
    <meta name="viewport" content="width=devicewidth, initialscale=1.0">
    <title>Child Page</title>
</head>
<body>
    <h1>Child Page</h1>
    <button onclick="sendMessageToParent()">Send Message to Parent</button>
    <script>
        function sendMessageToParent() {
            window.opener.postMessage('callShowMessage', 'http://localhost');
        }
    </script>
</body>
</html>

以上就是两种跨HTML页面调用JavaScript函数的方法,在实际开发中,可以根据需求选择合适的方法来实现跨页面调用。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/403348.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-03-29 02:52
下一篇 2024-03-29 02:53

相关推荐

  • 防火墙WAF防护,如何有效抵御网络攻击?

    防火墙 WAF 防护背景介绍随着互联网的迅猛发展,网络攻击手段日益复杂和隐蔽,尤其是针对Web应用的攻击,传统的防火墙主要工作在网络层和传输层,难以应对应用层的攻击,比如SQL注入、跨站脚本(XSS)等,Web应用防火墙(WAF)应运而生,它专门用于保护Web应用免受这些常见攻击,WAF通过检测和过滤进入Web……

    2024-11-08
    06
  • 如何正确配置防火墙端口以提高网络安全性?

    防火墙端口管理详解一、防火墙概述 防火墙定义与作用1.1 防火墙的基本定义防火墙是一种网络安全系统,用于监控和控制进出网络的网络流量,它通常设置在内部网络与外部网络之间,通过预先设定的安全规则来决定允许或阻止哪些数据包通过,1.2 防火墙的主要功能访问控制:根据预定义的规则,允许或禁止特定流量进入或离开网络,保……

    2024-11-08
    06
  • 域名注册到底需要多少钱?

    域名注册的费用因后缀和服务商不同而有所差异,一般价格在几十到几百人民币不等。

    2024-11-08
    05
  • 如何正确配置和应用防火墙产品以保障网络安全?

    防火墙产品配置与应用一、防火墙概述 防火墙定义防火墙是设置在两个或多个网络之间的安全阻隔,用于保证本地网络资源的安全,它通常包含软件部分和硬件部分的一个系统或多个系统的集合, 防火墙作用控制访问:在网络入口点检查网络通信,屏蔽非法侵入,信息流控管:控制进出不同网络区域的信息流向和信息包,日志与审计:提供使用和流……

    2024-11-07
    06

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入