So fügen Sie ein Popup nach dem Neuladen der Seite mit Onclick-Javascript hinzu
P粉921130067
P粉921130067 2023-09-09 12:48:44
0
2
529

  function sync_data() {
localStorage.setItem("syncDataClicked", true);
location.reload();
}

window.onload = function () {
    if (localStorage.getItem("syncDataClicked") === "true") {
        localStorage.removeItem("syncDataClicked");
        sync_data('show');
    }
};
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello</title>
</head>
<body>
<input type="submit" name="submit3" onclick="sync_data()" value="Sync data">
</body>
</html>

Html: 
<input type="submit" name="submit3" onclick="sync_data()" value="Sync data">

JS:
function sync_data() {
    window.onload = function () {
    setTimeout(function () {
        sync_data('show');
    }, 5000);
    }
    }

Dieses js funktioniert nicht. Nach dem Klicken und Neuladen der Seite muss ich ein Popup über die Funktion sync_data() hinzufügen. Gibt es eine Lösung? Ich habe mit lokalem Speicher aktualisiert, aber es wird eine Popup-Meldung angezeigt

P粉921130067
P粉921130067

Antworte allen(2)
P粉517475670

您的window.onload函数已经在sync_data函数内。因此 window.onload 不会被触发,因为单击按钮时页面已经加载。所以你的window.onload函数应该在执行sync_data函数之前执行。所以在sync_data函数中你应该包含flag。根据该标志,window.onload 函数将被触发。您可以使用 localStorage 来存储标志。这是我的建议代码。我不确定它是否有效。我将自定义弹出警报添加到代码中。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Sync Data</title>
    <script>
        function sync_data() {           
            localStorage.setItem("syncDataClicked", true);           
            location.reload();
        }

        window.onload = function () {            
            if (localStorage.getItem("syncDataClicked") === "true") {               
                localStorage.removeItem("syncDataClicked");                
                showPopup();
            }
        };

        function showPopup() {           
            alert('Data synced!');
        }
    </script>
</head>
<body>
    <input type="submit" name="submit3" onclick="sync_data()" value="Sync data">
</body>
</html>
P粉990568283

您可以使用以下代码:

function sync_data(string) {
  localStorage.setItem("syncDataClicked", string);
  location.reload();
}
try{
if (localStorage.getItem("syncDataClicked")){
  let popup = new Blob([localStorage.getItem("syncDataClicked")],{type: "text/html"});
  let link = document.createElement("a");
  let url = window.URL.createObjectURL(popup);
  link.href = url;
  link.target= "_blank";
  link.click();
  localStorage.removeItem("syncDataClicked");
}
}
catch (e) {console.log("It's the first time"); }
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello</title>
</head>
<body>
<input type="submit" name="submit3" onclick="sync_data('show')" value="Sync data">
</body>
</html>
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!