XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Javascript & Ajax (http://xhtmlforum.de/forumdisplay.php?f=83)
-   -   wie Javascript funktion in html ausführen? (http://xhtmlforum.de/showthread.php?t=73747)

Tertius 23.01.2019 20:18

wie Javascript funktion in html ausführen?
 
Das ganze ist für ein Microcontroller (wemos D1). Aber das ist eigentlich nicht wichtig glaube ich.

Ich habe eine websocket Verbindung. Diese funktioniert einwandfrei!
in der Datei websock.js ist eine funktion: OnloadFunction();
Wenn auf den Button klicke wird diese funktion ausgeführt, dass ist kein Problem.
Ich würde diese Funktion aber eigentlich ohne button klick ausführen. Also einfach so wenn die seite läd oder besser wenn sie geladen ist. Habe schon verschiedene Möglichkeiten aus dem www versucht aber irgendwie will das nicht so richtig.

Hat jemand von euch eine idee wie ich die Funktion OnloadFunction() ausführen kann wenn die Seite geladen ist oder notfalls auch einfach so aus dem html code heraus??


Hier der html code:
HTML-Code:

<!DOCTYPE html><html>
<head>
  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">
  <link rel=\"icon\" href=\"data:,\">
  <title>Testseite</title>
  <meta charset="UTF-8">
  <style>html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center; background-color:#5593F1}
    .button { background-color: #195B6A; border: none; color: white; padding: 10px 40px;
    text-decoration: none; font-size: 30px; margin: 2px; cursor: pointer;}
    .button2 {background-color: #77878A;}
  </style>
<script src="websock.js" async></script> 
</head>

<body>
  <h1>Test</h1>
  <p>Suche....</p>
  <p><a href="/read.html"><button class="button" onclick="OnloadFunction()">Lesen</button></a></p>
</body>
</html>

Hier der Code aus der websock.js Datei:
Code:

var connection = new WebSocket('ws://' + window.location.hostname + ':81/');
connection.onopen = function () {  connection.send('Connect ' + new Date()); };
connection.onerror = function (error) {    console.log('WebSocket Error ', error);};
connection.onmessage = function (e) {  console.log('Server: ', e.data);};

function OnloadFunction() {
    connection.send('* Test22');       
}


Warum funktioniert das nicht ohne button click?:
HTML-Code:

<body>
  <h1>Test</h1>
  <p>Suche...</p>
  <p><a href="/read.html"><button class="button" onclick="OnloadFunction()">Lesen</button></a></p>
  <script>
var connection = new WebSocket('ws://' + window.location.hostname + ':81/');
connection.onopen = function () {  connection.send('Connect ' + new Date()); };
connection.onerror = function (error) {    console.log('WebSocket Error ', error);};
connection.onmessage = function (e) {  console.log('Server: ', e.data);};
connection.send('* Test22');
</script> 
</body>

und wenn ich schon dabei bin, vielleicht hat jemand eine Idee wie ich die websocket Verbindung nur aufbaue wenn noch keine Verbindung besteht. Die websock.js wird bei jeder Seite geladen.

Danke!

hemfrie 24.01.2019 17:22

Also ich sehe bei Dir kein "load event binding", dass Deine Funktion ausführt.

Wenn es ohne Button click-event ausgeführt werden soll, musst Du es ja alternativ mit einem load-event ausführen.

Versuche es mal mit

Code:

window.addEventListener('load', OnloadFunction);


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:37 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2019, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2019