Soy un novato cuando se trata de HTML, así que no estoy seguro de cómo hacer que esto funcione. He estado siguiendo esta descripción de pestañas https://www.w3schools.com/howto/howto_js_tabs.asp
Estoy enviando periódicamente una solicitud GET y recibiendo una ID de cadena, por lo que quiero crear una pestaña para cada ID única que recibo, pero no estoy seguro de cómo hacerlo.
<div class="tab"> <button class="tablinks" onclick="openCity(event, 'London')" id="defaultOpen">SOAP5</button> <button class="tablinks" onclick="openCity(event, 'Paris')">GDAL</button> <button class="tablinks" onclick="openCity(event, 'Tokyo')">IDK</button> </div> <div id="London" class="tabcontent" style="height:100%;"> <!--#include virtual='navigation.htm' --> </div> <div id="Paris" class="tabcontent" style="height:100%;"> <!--#include virtual='navigation.htm' --> </div> <div id="Tokyo" class="tabcontent" style="height:100%;"> <!--#include virtual='navigation.htm' --> </div> <script> function openCity(evt, cityName) { var i, tabcontent, tablinks; tabcontent = document.getElementsByClassName("tabcontent"); for (i = 0; i < tabcontent.length; i++) { tabcontent[i].style.display = "none"; } tablinks = document.getElementsByClassName("tablinks"); for (i = 0; i < tablinks.length; i++) { tablinks[i].className = tablinks[i].className.replace(" active", ""); } document.getElementById(cityName).style.display = "block"; evt.currentTarget.className += " active"; } // Get the element with id="defaultOpen" and click on it document.getElementById("defaultOpen").click(); </script>
function RefreshData() { var xmlhttp = new XMLHttpRequest(); // Periodic data request var intervalID = setInterval(function GetData() { xmlhttp.open('GET', 'formInfo.htm', true); if ((xmlhttp.readyState = xmlhttp.OPENED)) { xmlhttp.send(); } }, 1000); xmlhttp.onreadystatechange = function () { if (this.readyState === this.DONE) { UpdateTabs(xmlhttp); } }; } function UpdateTabs(xmlhttp) { //How to create new tabs here? }