load hcaptcha only if really needed

This commit is contained in:
Jonas Leder 2021-09-10 19:22:24 +00:00
parent e0615bf0ed
commit 888930b930
23 changed files with 45 additions and 40 deletions

View file

@ -7,26 +7,32 @@ class newComment extends HTMLElement {
document.getElementById("showCommentButton").onclick = this.setupForm;
}
async setupForm(){
async setupForm() {
let sitekey = await (await fetch("/API/config.php?name=sitekey")).text();
this.parentElement.innerHTML = `
<form action="/API/newComment.php" method="post">
<label for="name">Name:</label><br>
<input type="text" id="name" name="name"><br><br>
<label for="email">E-Mail: (wird nicht ver&ouml;ffentlicht)</label><br>
<input type="text" id="email" name="email"><br><br>
<label for="comment">Kommentar:</label><br>
<textarea name="comment" id="comment"></textarea><br><br>
<div class="h-captcha" data-theme="dark" data-sitekey="${sitekey}"></div><br>
<input type="submit" value="Kommentar ver&ouml;ffentlichen"><br>
<p>Mit dem Klick auf den obigen Button erkl&auml;ren sie sich mit der <a href="/datenschutzerklaerung.html">Datenschutzerkl&auml;rung</a> einverstanden.</p>
</form>
`;
let script = document.createElement('script');
script.src = "https://hCaptcha.com/1/api.js";
script.type = 'text/javascript';
script.onload = () => {
this.parentElement.innerHTML = `
<form action="/API/newComment.php" method="post">
<label for="name">Name:</label><br>
<input type="text" id="name" name="name"><br><br>
<label for="email">E-Mail: (wird nicht ver&ouml;ffentlicht)</label><br>
<input type="text" id="email" name="email"><br><br>
<label for="comment">Kommentar:</label><br>
<textarea name="comment" id="comment"></textarea><br><br>
<div class="h-captcha" data-theme="dark" data-sitekey="${sitekey}"></div><br>
<input type="submit" value="Kommentar ver&ouml;ffentlichen"><br>
<p>Mit dem Klick auf den obigen Button erkl&auml;ren sie sich mit der <a href="/datenschutzerklaerung.html">Datenschutzerkl&auml;rung</a> einverstanden.</p>
</form>
`;
}
document.body.append(script);
}
}

View file

@ -83,5 +83,5 @@ chown apache /var/www/localhost/htdocs/ -R</code>
</div>
<jl-footer></jl-footer>
<script async defer src='https://hCaptcha.com/1/api.js'></script>
<script src="/js/script.js"></script>

View file

@ -65,5 +65,5 @@ make</code></pre>
</div>
<jl-footer></jl-footer>
<script async defer src='https://hCaptcha.com/1/api.js'></script>
<script src="/js/script.js"></script>

View file

@ -27,7 +27,7 @@
</div>
<jl-footer></jl-footer>
<script src='https://hCaptcha.com/1/api.js' async defer></script>
<script src="/js/script.js"></script>
</body>
</html>

View file

@ -24,5 +24,5 @@
</div>
<jl-footer></jl-footer>
<script async defer src='https://hCaptcha.com/1/api.js'></script>
<script src="/js/script.js"></script>

View file

@ -45,5 +45,5 @@
</div>
<jl-footer></jl-footer>
<script async defer src='https://hCaptcha.com/1/api.js'></script>
<script src="/js/script.js"></script>

View file

@ -141,5 +141,5 @@
</div>
<jl-footer></jl-footer>
<script async defer src='https://hCaptcha.com/1/api.js'></script>
<script src="/js/script.js"></script>

View file

@ -81,5 +81,5 @@
</div>
<jl-footer></jl-footer>
<script async defer src='https://hCaptcha.com/1/api.js'></script>
<script src="/js/script.js"></script>

View file

@ -26,5 +26,5 @@
</div>
<jl-footer></jl-footer>
<script async defer src='https://hCaptcha.com/1/api.js'></script>
<script src="/js/script.js"></script>

View file

@ -39,7 +39,7 @@
</div>
<jl-footer></jl-footer>
<script src='https://hCaptcha.com/1/api.js' async defer></script>
<script src="/js/script.js"></script>
</body>

View file

@ -31,5 +31,5 @@
</div>
<jl-footer></jl-footer>
<script async defer src='https://hCaptcha.com/1/api.js'></script>
<script src="/js/script.js"></script>

View file

@ -55,5 +55,5 @@
</div>
<jl-footer></jl-footer>
<script async defer src='https://hCaptcha.com/1/api.js'></script>
<script src="/js/script.js"></script>

View file

@ -40,5 +40,5 @@
</div>
<jl-footer></jl-footer>
<script async defer src='https://hCaptcha.com/1/api.js'></script>
<script src="/js/script.js"></script>

View file

@ -41,5 +41,5 @@
</div>
<jl-footer></jl-footer>
<script async defer src='https://hCaptcha.com/1/api.js'></script>
<script src="/js/script.js"></script>

View file

@ -48,5 +48,5 @@
</div>
<jl-footer></jl-footer>
<script async defer src='https://hCaptcha.com/1/api.js'></script>
<script src="/js/script.js"></script>

View file

@ -19,5 +19,4 @@
</div>
<jl-footer></jl-footer>
<script src='https://hCaptcha.com/1/api.js' async defer></script>
<script src="/js/script.js"></script>

View file

@ -25,5 +25,5 @@
</div>
<jl-footer></jl-footer>
<script async defer src='https://hCaptcha.com/1/api.js'></script>
<script src="/js/script.js"></script>

View file

@ -35,7 +35,7 @@
</div>
<jl-footer></jl-footer>
<script src='https://hCaptcha.com/1/api.js' async defer></script>
<script src="/js/script.js"></script>
</body>
</html>

View file

@ -43,7 +43,7 @@
</div>
<jl-footer></jl-footer>
<script src='https://hCaptcha.com/1/api.js' async defer></script>
<script src="/js/script.js"></script>
</body>
</html>

View file

@ -40,7 +40,7 @@
</div>
<jl-footer></jl-footer>
<script src='https://hCaptcha.com/1/api.js' async defer></script>
<script src="/js/script.js"></script>
</body>
</html>

View file

@ -30,7 +30,7 @@
</div>
<jl-footer></jl-footer>
<script src='https://hCaptcha.com/1/api.js' async defer></script>
<script src="/js/script.js"></script>
</body>
</html>

View file

@ -35,7 +35,7 @@
</div>
<jl-footer></jl-footer>
<script src='https://hCaptcha.com/1/api.js' async defer></script>
<script src="/js/script.js"></script>
</body>
</html>

View file

@ -47,7 +47,7 @@
</div>
<jl-footer></jl-footer>
<script src='https://hCaptcha.com/1/api.js' async defer></script>
<script src="/js/script.js"></script>
</body>
</html>