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


Article n° : EAK-P-4090

Fonction et Applications

Multimètre numérique de table ~ 22.000 compteurs ~ avec USB ~ alimenté par le réseau ou par pile

Ce multimètre numérique de table de haute précision offre des mesures très précises et dispose d'un grand écran LCD à 4 ½ chiffres avec rétroéclairage. Il peut être utilisé aussi bien en laboratoire en fonctionnement réseau, qu'en service mobile en mode batterie. Ainsi, l'appareil offre une variété d'applications. Les fonctions supplémentaires utiles telles que la mesure True RMS, la mesure de la valeur relative, la fonction MIN/MAX et DATA-hold complètent la polyvalence de cet appareil. Grâce à l'interface optique USB et au logiciel informatique, l'appareil peut afficher, dessiner et enregistrer tous les processus de test sur un ordinateur. Le logiciel graphique dispose d'une échelle dynamique exclusive, qui peut décrire de très petites variations des paramètres électriques. En connexion avec un ordinateur, le multimètre de table devient un enregistreur de mesures très utile

Caractéristiques Techniques

  • Écran LCD de 21 mm à 4 1/2 chiffres (max. 22000 points) avec rétro-éclairage
  • True RMS
  • Jusqu'à 150 mesures par seconde
  • Enregistreur de données jusqu'à 1 Mio. points (interne) ou 100 Mio. Points (externes) / Intervalle de 5ms
  • Sélection automatique et manuelle de la gamme
  • DATA-, MAX/MIN-HOLD, AVG, fonction relative
  • Test de diodes, test de continuité
  • Mesure de la température compatible avec : Type-B / E / J / K / N / R / S / T ou PT100 / PT385
  • Interface USB
  • Sécurité : EN 61010-1 ; CAT I 600 V
  • Accessoires : mallette, cordon d'alimentation, câble d'interface USB, logiciel pour Windows, cordons de test et manuel d'utilisation
  • DCV : 220 mV/2,2/22/220/600 V ; 10 μV ; ± 0,05 % + 6 dgt.
  • ACV : 220 mV/2,2/22/220/600 V ; 10 μV ; ± 0,5 % + 30 dgt. Gamme de fréquences : 40Hz ... 30kHz
  • DCA : 220/2200 μA/22/220 mA/10 A ; 0,01 μA ; ± 0,2 % + 15 dgt.
  • ACA : 220/2200 μA/22/220 mA/10 A ; 0,01 μA ; ± 0,8 % + 30 dgt. Gamme de fréquences : 40Hz ... 5kHz
  • Ohm : 220 Ω/2,2/22/220 kΩ/2,2/22/220 MΩ ; 10 mΩ ; ± 0,1 % + 10 dgt.
  • Capacité : 22/220 nF/2,2/22/220 μF/2,2/22 mF ; 0,01 nF ; ± 2,0 % + 5 dgt.
  • Fréquence : 20 Hz ~ 220 MHz ; 1 mHz ; ± 0,06 % ; + 10 dgt.
  • Température : -20°C ~ 1000°C ; 0,1°C ; ± 1,5 % ; + 3°C
  • Tension de fonctionnement : 100 ~ 120 V / 200 ~ 240 V AC ; 50/60 Hz commutable ext. 6 piles 1,5V (AA / UM-3)
  • Dimensions (LxHxP) : 268 x 108 x 322 mm
  • Poids : 2,8 kg


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