--- a/test.html +++ b/test.html @@ -680,84 +680,18 @@ <head> <meta charset="UTF-8"> <title>Title</title> + <script src="wvdetection.js"></script> </head> <body onload="onBodyLoad()"> <script> - window.addEventListener("message", receiveMessage, false); - - let url0, url1, activeUrl, urlSet = false, timer = -1; function onBodyLoad() { - url0 = document.getElementById("url0"); - url1 = document.getElementById("url1"); - } - - function receiveMessage(event) { - if (activeUrl.startsWith(event.origin)) { - if (timer !== -1) { - clearTimeout(timer); - timer = -1; - console.log("Received messages. Killing timer!"); - } - var message = event.data; - console.log(message); - if (message === "--INFO--\"Still polling the registration of the visualization. Is the visu stopped?\"") { - console.log("Webvisu stopped? Switching to different url"); - setTimeout(switchToDifferentWebvisu, 1000); - } - if (message === "Error while processing the visualization: Sending service aborted") { - console.log("Download? Switching to different url"); - setTimeout(switchToDifferentWebvisu, 1000); - } - if (message === "--INFO--\"Triing to reconnect after error\"") { - console.log("Error? Switching to different url"); - setTimeout(switchToDifferentWebvisu, 1000); - } - } - } - - function setURL() { - document.getElementById('frame').src = url0.value; - url0.disabled = true; - url1.disabled = true; - document.getElementById("button").disabled = true; - activeUrl = url0.value; - urlSet = true; - } - - function onLoad() { - if (urlSet) { - timer = setTimeout(function () { - console.log("No message received after 5 seconds, switching to different webvisu."); - switchToDifferentWebvisu(); - }, 5000); - } - } - - function switchToDifferentWebvisu() { - if (activeUrl === url0.value) { - activeUrl = url1.value; - } else if (activeUrl === url1.value) { - activeUrl = url0.value; - } else { - console.error("Unexpected settings! Abort!"); - return; - } - document.getElementById('frame').src = activeUrl; - } - - function onError() { - console.log("onError"); + const wvDetection = new WVDetection("frame"); + wvDetection.setWebvisuUrls(["http://localhost:8080/webvisu.htm", "http://localhost:8080/webvisu.htm"]); + wvDetection.start(); } </script> -<iframe id="frame" onload="onLoad()" onerror="onError()"></iframe> +<iframe id="frame"></iframe> <br><br> -<label for="url0">Url0:</label> -<input type="text" id="url0" name="url0" value="http://localhost:8080/webvisu.htm"><br><br> -<label for="url1">Url1:</label> -<input type="text" id="url1" name="url1" value="http://localhost:8080/webvisu.htm"><br><br> -<button type="button" id="button" onclick="setURL()">Change</button> - - </body> </html>