如何在javascript中调用另一个窗口的函数?
我使用window.open打开一个新选项卡。新选项卡中有一个脚本标记中定义的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");
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
}
}