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


Cobra SMARTsense Weatherstation - Station météo pour 17 paramètres de mesure (Bluetooth + USB)

Article n° : 12946-00

Fonction et applications
Mesurez 17 différentes données météorologiques, lumineuses et GPS avec le Cobra SMARTsense Weatherstation et explorez avec vos élèves des conditions environnementales complexes pertinentes pour les phénomènes environnementaux avec une facilité enfantine.

Avec des taux d’échantillonnage allant jusqu’à 10 Hz, la station météo numérique peut être utilisé de manière flexible dans des expériences allant des conditions météorologiques à la cartographie de terrain.

Connectez le Cobra SMARTsense Weatherstation sans fil via Bluetooth ou en filaire via USB au logiciel de mesure gratuit et primé measureAPP – disponible pour iOS, Android, Windows et Linux.

Mettre sous tension. Se connecter à l’appareil. Commencer à mesurer.

Avantages

  • Démarrer directement avec n’importe quel terminal compatible Bluetooth et le measureAPP gratuit
  • Gestion intelligente et efficace de la puissance pour jusqu’à 50 heures de cours avec une seule charge de batterie.
  • Jusqu’à 10 valeurs de mesure par seconde garantissent la précision.
  • Appareil portable tout-en-un pour mesurer des conditions environnementales complexes.
  • Mesures de longue durée possibles grâce à la girouette et au trépied fournis.
  • Fonction GPS pour une localisation précise des enregistrements.

Caractéristiques techniques

  • Canaux de mesure météorologiques :
    • Vitesse du vent
      • Plage de mesure : 2–50 km/h
      • Résolution : 0,1 km/h
    • Direction du vent
      • Plage de mesure : 0–360 °
      • Résolution : 1 °
    • Température ambiante
      • Plage de mesure : -40–125 °C
      • Résolution : 0,01 °C
    • Humidité relative
      • Plage de mesure : 0–100 %
      • Résolution : 0,1 %
    • Humidité absolue
      • Plage de mesure : 0–600 g/m³
      • Résolution : 0,01 g/m³
    • Point de rosée
      • Plage de mesure : -10–40 °C
      • Résolution : 0,01 °C
    • Température ressentie (Wind Chill)
      • Plage de mesure : -70–10 °C
      • Résolution : 0,01 °C
    • Pression barométrique
      • Plage de mesure : 45–110 kPa
      • Résolution : 0,01 kPa
  • Canaux de mesure de lumière :
    • Lumière ambiante
      • Plage de mesure : 0–128000 Lx
      • Résolution : 1 Lx
    • Indice UV
      • Plage de mesure : 1–12
      • Résolution : 0,01
    • Rayonnement photosynthétiquement actif (PAR)
      • Plage de mesure : 0–2400 μmol/m²/s
      • Résolution : 1 μmol/m²/s
    • Intensité du rayonnement
      • Plage de mesure : 0–510 W/m²
      • Résolution : 0,1 W/m²
  • Canaux de mesure GPS :
    • Altitude (GPS)
      • Plage de mesure : -9000–18000 m
      • Résolution : 1 m
    • Longitude
      • Plage de mesure : ±180 °
      • Résolution : 1 °
    • Latitude
      • Plage de mesure : ±90 °
      • Résolution : 1 °
    • Vitesse (GPS)
      • Plage de mesure : 0–800 km/h
      • Résolution : 0,1 km/h
    • Direction réelle (GPS)
      • Plage de mesure : 0–360 °
      • Résolution : 0,01 °
  • Taux d'échantillonnage : jusqu’à 10 Hz (Bluetooth et USB)
  • Version Bluetooth : 5.4
  • Batterie : Batterie lithium-polymère rechargeable avec jusqu’à 50 heures d’autonomie
  • Inclus : câble de chargement USB-A vers USB-C
  • Girouette et trépied inclus.

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