我希望代码提醒用户关闭浏览器的关闭按钮,但是我对每次加载或网页内的每次刷新和标签更改都会收到警报。
$client->authenticate($_GET['code']);
$access_token = $client->getAccessToken();
$client->setAccessToken($access_token);

答案 0 :(得分:0)
您必须将警报框状态保存在任何位置,以便您可以检查用户是否已查看过一次。您可以保存警报框的状态,例如在本地存储中。我改变了代码。 首先在onload事件中,检查是否存在localStorage Item" showConfirmation"。如果没有,请使用字符串值" true"创建一个,否则只记录该值。 其次,在关闭之前,它会检查项目是否具有值" true"。如果是这样,返回一个字符串以显示警报消息。 第三,在window.close上你将项目设置为字符串" false",该消息将不再显示。
window.onload = checkLocalStorage;
window.onbeforeunload = askForClose;
window.unload = checkLocalStorage;
function checkLocalStorage() {
if (localStorage.getItem("showConfirmation") === null) {
localStorage.setItem("showConfirmation", "true");
} else {
console.log(localStorage.getItem("showConfirmation"));
}
}
function askForClose() {
var showConfirmation = localStorage.getItem("showConfirmation");
if (showConfirmation === "true") {
localStorage.setItem("showConfirmation", "false");
return "You really want to close?";
}
}