Hier der vollständige Code. Geändert ist nur resolveItemUrl(), dazu kommt die neue Hilfsfunktion languagePrefix(). Die Sprache wird aus dem URL-Präfix der Druckseite übernommen, z. B. /es/. html
(function () { function textOf(el) { return (el && el.textContent || "").replace(/\s+/g, " ").trim(); } // Sprachpräfix der aktuellen Seite ermitteln, z. B. "/es" bei /es/druckseite?item=123 // Standardsprache (ohne Präfix) liefert "". function languagePrefix() { var m = window.location.pathname.match(/^\/([a-z]{2})(?=\/|$)/i); return m ? "/" + m[1].toLowerCase() : ""; } function resolveItemUrl() { var match = window.location.search.match(/[?&]item=(\d+)/); if (!match) { return null; } return window.location.origin + languagePrefix() + "/a-" + match[1] + "/"; } function loadAccordion() { var url = resolveItemUrl(); if (!url) { return Promise.resolve(null); } return new Promise(function (resolve, reject) { var xhr = new XMLHttpRequest(); xhr.open("GET", url, true); xhr.onload = function () { if (xhr.status < 200 || xhr.status >= 400) { reject(new Error("item page " + xhr.status)); return; } var doc = new DOMParser().parseFromString(xhr.responseText, "text/html"); resolve(doc.querySelector(".phywe-item-accordion")); }; xhr.onerror = function () { reject(new Error("item page network error")); }; xhr.send(); }); } function parseItemBlocks(scope, withQuantity) { if (!scope) { return []; } var rows = scope.querySelectorAll(".itemslist .row.itemblocks"); var items = []; for (var i = 0; i < rows.length; i++) { var cols = rows[i].children; if (!cols.length) { continue; } var nameLink = cols[0].querySelector("a"); var numberLink = cols[1] ? cols[1].querySelector("a") : null; var item = { name: textOf(nameLink || cols[0]), mappedTo: textOf(numberLink) }; if (withQuantity && cols[2]) { var qty = parseInt(textOf(cols[2]).replace(/[^\d]/g, ""), 10); item.quantity = isNaN(qty) ? textOf(cols[2]) : String(qty); } if (item.name) { items.push(item); } } return items; } function fillTable(tableId, items, withQuantity) { var table = document.getElementById(tableId); if (!table || !items.length) { return; } var tbody = table.querySelector("tbody"); for (var i = 0; i < items.length; i++) { var tr = document.createElement("tr"); var nameTd = document.createElement("td"); nameTd.style.width = "80%"; nameTd.textContent = items[i].name; tr.appendChild(nameTd); var numberTd = document.createElement("td"); numberTd.textContent = items[i].mappedTo; tr.appendChild(numberTd); if (withQuantity) { var qtyTd = document.createElement("td"); qtyTd.textContent = items[i].quantity || ""; tr.appendChild(qtyTd); } tbody.appendChild(tr); } var wrapper = table.parentElement; while (wrapper && wrapper.className.indexOf("printtablediv") === -1) { wrapper = wrapper.parentElement; } if (wrapper) { wrapper.style.display = ""; } } function stepTitle(stepEl) { if (!stepEl) { return ""; } var titleEl = stepEl.querySelector(".card-header button div") || stepEl.querySelector(".card-header button"); return textOf(titleEl); } function setHeadline(tableId, title) { var headline = document.querySelector("#" + tableId + " .printtableheadline"); if (headline && title) { headline.textContent = title; } } function parseMedia(scope) { if (!scope) { return []; } var rows = scope.querySelectorAll(".itemslist .row.itemblocks"); var items = []; for (var i = 0; i < rows.length; i++) { var cols = rows[i].children; if (!cols.length) { continue; } var nameLink = cols[0].querySelector("a"); var fileLink = cols[1] ? cols[1].querySelector("a") : null; var item = { name: textOf(nameLink || cols[0]), mappedTo: textOf(fileLink || cols[1]), quantity: cols[2] ? textOf(cols[2]) : "" }; if (item.name) { items.push(item); } } return items; } function fillFromAccordion(accordion) { if (!accordion) { return; } var versucheStep = accordion.querySelector('[data-step="versuche"]'); var versuche = parseItemBlocks(versucheStep, false); setHeadline("print-versuche", stepTitle(versucheStep)); fillTable("print-versuche", versuche, false); var lieferumfangStep = accordion.querySelector('[data-step="lieferumfang"]'); var lieferumfang = parseItemBlocks(lieferumfangStep, true); fillTable("print-lieferumfang", lieferumfang, true); var zubehoer = accordion.querySelector('[data-step="zubehoer"]'); var sections = zubehoer ? zubehoer.querySelectorAll(".card-body") : []; var notwendig = []; var empfohlen = []; for (var i = 0; i < sections.length; i++) { var items = parseItemBlocks(sections[i], false); if (sections[i].querySelector(".text-red, .icon-warning-black")) { notwendig = items; } else if (sections[i].querySelector(".text-green, .icon-Mehrwert_black")) { empfohlen = items; } } fillTable("print-zubehoer-notwendig", notwendig, false); fillTable("print-zubehoer-empfohlen", empfohlen, false); var mediaStep = accordion.querySelector('[data-step="media"]'); var media = parseMedia(mediaStep); setHeadline("print-media", stepTitle(mediaStep)); fillTable("print-media", media, true); } function start() { var itemUrl = resolveItemUrl(); if (!itemUrl) { setTimeout(function () { window.print(); }, 2000); return; } loadAccordion() .then(function (accordion) { fillFromAccordion(accordion); }) .catch(function (err) { if (window.console && console.warn) { console.warn("Accordion konnte nicht geladen werden:", itemUrl, err); } }) .then(function () { setTimeout(function () { window.print(); }, 500); }); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", start); } else { start(); } })();
 

Datos técnicos


measureAPP - el software de medición gratuito para todos los dispositivos y sistemas operativos

Nº de artículo 14581-61

measureAPP® ha sido galardonado con el Comenius-EduMedia-Seal 2022 como un medio educativo sobresaliente en términos de pedagogía, contenido y diseño.

Simple. Móvil. Midiendo.

Funciones y uso

PHYWE measureAPP es la aplicación para la adquisición simple y rápida de datos en sus lecciones de ciencia digital. En combinación con nuestros sensores Cobra SMARTsense le ofrecemos una solución global intuitiva, simple y moderna que no deja nada que desear.
¿Cuál es el nivel de ruido en la clase? ¿Cómo cambian las condiciones climáticas durante el día? ¿Cuánta electricidad produce un generador? Las respuestas a estas y muchas más preguntas están contenidas en las más de 100 descripciones de pruebas almacenadas que se pueden llevar a cabo con los sensores Cobra SMARTsense y el PHYWE measureAPP.

Ventajas

  • Simplicidad - Medir de forma rápida e intuitiva (con 2 clics para el registro de datos)
  • Usabilidad - Manejo simple e intuitivo de la aplicación a través de un diseño orientado al usuario y la consideración de principios y directrices estandarizados
  • Conectividad - Intercambio de datos inalámbricos y conexión de los sensores Cobra SMARTsense a través de Bluetooth y USB
  • Visualización - Visualización gráfica, digital y analógica de los datos de medición
  • Personalización - Crear notas, fotos o videos individuales para documentar los resultados de las mediciones
  • Interoperabilidad - Fácil intercambio de los resultados de las mediciones con otros usuarios en un archivo
  • Completitud - Encuentra y abre más de 100 descripciones de experimentos directamente en la aplicación
  • Cumplimiento de las normas - uso de normas abiertas y establecidas (H5P)
  • Multilingüismo - Disponibilidad de la aplicación en 17 idiomas (alemán, inglés, francés, español, ruso, neerlandés, danés, checo, turco, noruego, italiano, polaco, finés, portugués, kazajo, ucraniano y vietnamita)
  • Independencia de la plataforma -  Disponibilidad de la aplicación para todos los sistemas operativos móviles (iOS, Android, Windows, Linux) y dispositivos finales (teléfono inteligente, tableta, PC de escritorio)

Requisitos técnicos

  • Apple iPad / iPhone (desde iOS 12.0) o Android Tablet / Smartphone (desde Android 6.0) o Windows (desde la versión 10) o Linux (Debian)
  • Conexión Bluetooth activa
  • Autorización de aplicación para cámara / video / audio / GPS cuando se utiliza la función correspondiente

Descargas

  • iOS: La versión para iOS de measureAPP se encuentra aquí
  • Android: La versión para Android de measureAPP se encuentra aquí
  • Windows: La versión para Windows de measureAPP se encuentra en descargas
  • Linux: La versión para Linux de measureAPP se encuentra en descargas

PHYWE Systeme GmbH & Co. KG
Robert-Bosch-Breite 10 – 37079 Göttingen – Deutschland
www.phywe.com
Contact