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


PHYWE Alimentation, 230 V, CC: 0...12 V, 0 ... 2 A / CA: 0 ... 12 V, 0,1 ... 5A

Article n° : 13507-93
Fonction et applications
 
L'enseignement au premier plan, pas la technique : l'alimentation pour élèves PHYWE est un appareil pour l'ensemble de l'enseignement des sciences. Elle s'utilise de la 6e jusqu'au baccalauréat et à l'université, de manière interdisciplinaire en physique, chimie et biologie.
 
L'appareil fournit une tension continue et alternative pour les expériences d'élèves en électricité, électronique, optique et au-delà. Les deux sorties peuvent être utilisées simultanément, un deuxième appareil n'est donc pas nécessaire. La faible ondulation résiduelle de 1 mV crête à crête max. garantit des mesures précises et reproductibles, par exemple pour les courbes caractéristiques de semi-conducteurs. Grâce à une utilisation claire et intuitive, l'appareil est immédiatement opérationnel, sans formation préalable.
 
Extension en option : avec le module complémentaire de l'application, l'enseignant pilote de manière centralisée un seul appareil ou l'ensemble des appareils de la classe. Il lit les valeurs actuelles de tous les appareils, règle la tension et le courant, et limite ou verrouille les sorties. L'application n'est pas nécessaire au fonctionnement. Toutes les fonctions restent disponibles à tout moment directement sur l'appareil.
 
Le transformateur de sécurité, la limitation électronique du courant et la protection contre la surchauffe rendent l'appareil conforme à la RiSU (directives allemandes de sécurité dans l'enseignement) et robuste face aux erreurs de manipulation courantes. Aucun fusible de rechange n'est nécessaire. Le boîtier résistant aux chocs et empilable est conçu pour des années d'utilisation en classe, et l'appareil reste disponible à l'identique sur le long terme. Made in Germany.
 
Avantages
 
Un appareil pour tous les niveaux et toutes les matières: de la 6e jusqu'au baccalauréat et à l'université, utilisable de manière interdisciplinaire
Immédiatement opérationnel: utilisation intuitive, écran pour la tension et le courant, langues d'utilisation DE/EN/FR/ES
CC et CA simultanément: tension continue réglable en continu, plus une véritable tension alternative sinusoïdale pour les expériences sur le courant alternatif, l'induction et les transformateurs
Mesures précises: ondulation résiduelle de 1 mV crête à crête max., adaptée jusqu'aux travaux pratiques universitaires
Sûr selon la RiSU: transformateur de sécurité selon DIN EN 61558-2-6, classe de protection I, flottant (isolé de la terre et de la masse), état défini à la mise sous tension
Robuste face aux erreurs de manipulation: limitation du courant en CA et CC, résistant aux surcharges et aux courts-circuits, protection contre la surchauffe, aucun fusible de rechange nécessaire
Empilable et mobile: rangement peu encombrant, facile à transporter grâce à une sangle de transport textile (accessoire)
Investissement pérenne: disponible à long terme et réapprovisionnable à l'identique, pour un équipement de classe homogène pendant de nombreuses années
Pilotable en option via une application (module complémentaire): lire les valeurs de tous les appareils, régler la tension et le courant, limiter et verrouiller les sorties. L'appareil est entièrement fonctionnel sans l'application.
Connectivité: 2× USB-C pour alimenter des appareils externes, interface MQTT
Made in Germany: développement, conception et assemblage final en Allemagne
 
Caractéristiques techniques
 
  • Tension continue : 0 … 12 V, source de courant ou de tension régulée avec limitation de courant réglable : 0 … 2 A / max. 24 W (réglable en continu)
  • Ondulation résiduelle : Ucàc max. 1 mV
  • Tension alternative : réglable en continu 0 … 12 V ; courant alternatif : 0,1 … 5 A / max. 60 VA (sinusoïdal)
  • Écran couleur intégré
  • Pilotage en option via le module complémentaire de l'application : verrouillage, réglage U/I, gestion de plusieurs appareils ; fonctions de base toujours disponibles sur l'appareil sans l'application
  • Langues d'utilisation : DE, EN, FR, ES
  • 2× USB-C (5 V / 1 A)
  • Connexions : douilles de sécurité de 4 mm
  • Protection électronique (aucun fusible de rechange nécessaire)
  • Classe de protection I (avec conducteur de protection)
  • Tension d'alimentation : 230 V~, 50/60 Hz
  • Puissance absorbée : max. env. 146 VA
  • Transformateur de sécurité selon DIN EN 61558-2-6 ; conforme à la RiSU ; CE selon EN 61010-1 / EN 61326-1
  • Boîtier : résistant aux chocs, empilable
  • Dimensions (mm) : 225 x 110 x 245 (L x H x P)
  • Poids : env. 3,2 kg

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