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(); } })();
 

Données techniques


Kit étudiant environnement et plein-air, digitale, standard avec station météo et SMARTlink pour 4 groupes detravail, TESS avancée biologie

Article n° : 12628-88D

L'acquisition de données numériques pour l'intérieur de la classe et l'extérieur !

Fonction et applications

L'ensemble numérique vous permet d'utiliser les dernières technologies de mesure pour vos analyses environnementales et extérieures et est très facile à utiliser. Outre les paramètres classiques tels que la température, la pression atmosphérique, la luminosité, l'humidité relative, le pH, la conductivité et la turbidité de l'eau, la station météorologique vous permet d'effectuer des observations météorologiques complètes et même de collecter des données GPS sur le terrain. Le site Cobra SMARTlink peut non seulement être utilisé comme interface pour les capteurs, mais offre également une flexibilité supplémentaire pour les travaux de groupe grâce à ses capteurs intégrés.

 

Avantages

  • Que ce soit en classe, en plein air ou lors de journées de projet : dans cette mallette robuste en aluminium, vous trouverez toujours l'appareil adéquat pour réaliser des expériences fascinantes avec des groupes scolaires.
  • Jusqu'à 4 groupes peuvent travailler et étudier des sujets intéressants en parallèle.
  • Fonctionne avec tous les appareils iOS et Android
  • Téléchargez l'application gratuite sur l'App Store d'Apple ou le PlayStore de Google
  • Les élèves peuvent évaluer les données à la maison, comme devoir à la maison.
  • Cet appareil est également idéal pour être utilisé, par exemple, dans le cadre d'une journée de randonnée scolaire : ici, un profil topographique peut facilement être produit avec le capteur L profond. Dans les cours de géographie, les données peuvent être évaluées et interprétées ensemble. Si l'on compare ensuite la hauteur avec la température, l'humidité par rapport au chemin ou la température par rapport à l'heure de la journée, on peut faire de grandes découvertes, à la fois pratiques et amusantes.

 

Caractéristiques techniques

  • Boîtier robuste en aluminium
  • 1x Cobra SMARTlink
  • 1x Cobra SMARTsense - Station météorologique (Bluetooth + USB)
  • 1 x Cobra SMARTsense - Humidité relative, 0 ... 100 %
  • 1 x Cobra SMARTsense - pH, 0 ... 14
  • 1 x Cobra SMARTsense - Conductivité, 0 ... 20000 µS/cm
  • 1 x Cobra SMARTsense - Température, - 40 ... 120 °C
  • 1 x Cobra SMARTsense - Pression absolue, 20 ... 400 kPa
  • 1 x Cobra SMARTsense - Lumière, 1 ... 128 kLX
  • 1 x Cobra SMARTsense - Colorimètre pour la mesure de la turbidité, 0 ... 100 %
  • 1 x 100 comprimés rouges de tampon pH 4
  • 1 x 100 comprimés verts de tampon pH 10
  • 5 x 20 ml de solution d'étalonnage pour l'électrode de conductivité
  • 1 x 120 étiquettes
  • 4 x 100 ml bride carrée (HDPE)
  • 2 x 250 ml bécher de laboratoire en PP

 

 


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