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


leXsolar-PV Prêt à l'emploi

Article n° : 06761-00

Fonctionnement et applications

Le photovoltaïque est un élément important de l'approvisionnement énergétique décentralisé. Grâce à ce jeu d'expériences complet, les étudiants peuvent découvrir tous les aspects d'une cellule solaire - des expériences simples pour démontrer l'énergie solaire avec un moteur et d'autres charges aux expériences pour déterminer les courbes caractéristiques de différents types de cellules solaires ou leurs efficacités en fonction de la température.

Avantages

  • Système d'expérimentation entièrement équipé qui ne nécessite aucun matériel supplémentaire
  • Tous les aspects des cellules solaires sont couverts
  • Expériences qualitatives et quantitatives
  • Système de connecteurs pour un assemblage facile et rapide

Équipement et données techniques

Dans la mallette de transport (dimensions : 64 x 37 x 17 cm), tous les éléments nécessaires à la réalisation des expériences suivantes sont fournis, de sorte qu'aucun accessoire supplémentaire n'est requis :

  • Influence du rayonnement direct, diffus et albédo sur la puissance des cellules solaires
  • Puissance d'une cellule solaire en fonction de sa surface, de l'angle d'incidence de la lumière, de l'éclairement et de la température
  • Caractère de diode d'une cellule solaire
  • Caractéristiques d'obscurité et caractéristiques I-V d'une cellule solaire Résistance interne d'une cellule solaire en fonction de la polarisation inverse ou directe, dans l'obscurité et sous éclairage
  • Dépendance de la puissance d'une cellule solaire par rapport à la charge
  • Comportement de la tension et du courant dans les connexions en série et en parallèle des cellules solaires
  • Comportement de la tension et du courant dans les connexions en série et en parallèle des cellules solaires (qualitatif)
  • Comportement de la tension et du courant dans les connexions en série et en parallèle des cellules solaires (quantitatif)
  • Comportement de la tension et du courant des connexions en série et en parallèle des cellules solaires en fonction de l'ombrage
  • Simulation d'un réseau autonome avec station photovoltaïque

Contenu de la livraison :

  • Différents modules solaires
  • Source lumineuse pour l'éclairage défini
  • Modules avec diode, résistance, potentiomètre, moteurs, condensateur
  • Multimètre numérique
  • Thermomètre
  • Luxmètre
  • Alimentation électrique
  • Accessoires supplémentaires
  • Clé de téléchargement pour les guides détaillés de l'élève et de l'enseignant


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