窗口关闭时发送true
或false
。
当我点击一个按钮时,会打开一个带有window.open();
语法的窗口。我需要的东西似乎很简单:当窗口关闭时,返回到打开弹出窗口的窗口,来自服务器的响应可以是true
或false
- 就像Facebook的API一样。 / p>
有人知道我怎么能以简单的方式做到这一点?
我不想使用jQuery,因为页面的CSS会覆盖弹出窗口的CSS。
HTML:
[...]
<a href="#" class="share" data-networkName="<?php echo $network->name; ?>">
Share</a>
[...]
JS:
$(".share").on("click", function(event) {
event.preventDefault();
var networkName = $(this).data("networkName");
window.open("share.php?network=" + networkName");
});
答案 0 :(得分:5)
这就是我提出的:
<强> receive.html 强>
<a href="#" onclick="openWindow()">Share</a>
<script>
var new_window = null;
function openWindow() {
new_window = window.open('return.html');
}
// Callback Function that we will call in child window
function sendMessage(message) {
alert(message);
new_window.close();
}
</script>
<强> return.html 强>
<a href="#" onclick="window.messageParent();">Mark As Shared</a>
<script>
function messageParent() {
// Calls sendMessage function on the parent window.
window.opener.sendMessage("Hello World!");
}
</script>
然后,您可以在父窗口中的sendMessage函数中处理您想要的返回值。
这是我能提出的最简单的方法。如果有效,请告诉我。
答案 1 :(得分:1)
试试这个:
$(".share").on("click", function(event) {
event.preventDefault();
var networkName = $(this).data("networkName");
window.onbeforeunload = function() {
window.open("share.php?network=" + networkName");
}
});
<强>更新强>
main.php的脚本:
$(".share").on("click", function(event) {
event.preventDefault();
var networkName = $(this).data("networkName");
window.onbeforeunload = function() {
window.open("share.php?network=" + networkName");
}
function send(msg) {
//send msg to db or store as cookies
}
});
popup.html的脚本:[假设您有一个名为'#popup-btn'的分享按钮]
$('#popup-btn').click(function() {
window.opener.send('MSG SENT FROM POPUP {THEY SHARED SOMETHING}');
});