Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中调用另一个窗口的函数?_Javascript_Jquery_Html - Fatal编程技术网

如何在javascript中调用另一个窗口的函数?

如何在javascript中调用另一个窗口的函数?,javascript,jquery,html,Javascript,Jquery,Html,我使用window.open打开一个新选项卡。新选项卡中有一个脚本标记中定义的javascriptmyfunction函数。在打开新窗口的窗口中,我想运行该函数 我该怎么做 谢谢 差不多 var a = window.open("mypage.html", "_blank"); a.myfunction("hi"); 编辑 这不管用。它没有发出警报 开瓶器 var w = window.open("../scripts/map.php", "_blank");

我使用window.open打开一个新选项卡。新选项卡中有一个脚本标记中定义的javascript
myfunction
函数。在打开新窗口的窗口中,我想运行该函数

我该怎么做

谢谢

差不多

var a = window.open("mypage.html", "_blank");
a.myfunction("hi");
编辑

这不管用。它没有发出警报

开瓶器

        var w = window.open("../scripts/map.php", "_blank");
        w.postMessage("The user is 'bob' and the password is 'secret'", "*");
新标签

        function receiveMessage(event) {
            alert(event.data);
        }
        window.addEventListener("message", receiveMessage, false);

假设php文件为新窗口提供内容:

window.open('http://www.example.com/myFile.php?parameter=' + parameter, 'myWindow', 'width=500,height=500,scrollbars=yes').focus();
然后在myFile.php的php部分:

$myParam = (isset($_GET['parameter'])) ? $_GET['parameter'] : null;
然后使用body onload调用函数:

<head>
<script>
    var myParam = '<?= $myParam ?>';
</script>
</head>
<body onload="myFunction()">

试着使用window.openerHow编写代码吗?你可以尝试使用.postMessage并在该窗口中处理消息。我想我误解了……您想从打开新选项卡的窗口运行myFunction,它是在新打开的窗口中定义的,对吗?这并不是说您想从新打开的窗口在opener窗口中运行函数,对吗?您想在任何给定时间运行myFunction,还是只在新窗口打开时运行myFunction?我不想将其作为url参数附加。不过,公认的答案效果不错。
<head>
<script>
    var myParam = '<?= $myParam ?>';
</script>
</head>
<body onload="myFunction()">
function myFunction() {
    if (myParam) {
        //do Something
    }
}