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

Datos técnicos


PHYWE Contador universal

Nº de artículo 13601-99
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> Unknown

Funciones y aplicaciones
El contador universal se utiliza para medir el tiempo, la frecuencia, las frecuencias de pulso, el conteo de pulsos, los tiempos periódicos, las velocidades y las velocidades.

Beneficios
-El aparato tiene todas las cualidades que se esperan de un contador universal moderno y también está equipado con una serie de especificaciones técnicas de cómo se deriva específicamente de los requisitos de la práctica de la enseñanza de las ciencias.
-Para la representación científicamente correcta de cada medición se muestra en principio con la unidad asociada. Con el desbordamiento de la pantalla se cambia automáticamente a la siguiente área.
-Antes de comenzar la medición se puede ajustar manualmente a un máximo de 6 décadas de rango definido, por ejemplo, para suprimir los dígitos físicamente no significativos en la pantalla.
-Un conector especial para la conexión directa de un tubo de contador de GM está disponible para experimentos de radioactividad. El voltaje requerido puede ser cambiado manualmente para determinar las características de un tubo de contador también.
-La función de cronómetro puede ser introducida por medio de contactos eléctricos, sensores o manualmente en los diferentes tipos de disparadores para el arranque y la parada precisos para la medición del tiempo.
-Los valores medidos están representados por seis pantallas rojas de 20mm de alto contraste de 7 segmentos. Se utiliza una pantalla adicional de tres dígitos para visualizar la unidad (ms, s, Hz, kHz, MHz, I / s, RPM, Imp, V, m / s).
-Los diferentes estados de funcionamiento se indican mediante LEDs.
-Cambio de rango en todos los modos manualmente (antes de la medición) y automáticamente cuando se produce un desbordamiento.
-El puerto USB se utiliza para actualizar el firmware del dispositivo.

Equipamiento y datos técnicos
-Rango de temperatura de funcionamiento 5...40 ° C
-Humedad relativa <80%.
-Pantalla digital:
-LED de lectura de medición 6 dígitos, 7 segmentos, 20 mm
-Unidades LED de 3 dígitos, matriz de puntos 5x7
-Unidades ms, s, Hz, kHz, MHz, I / s, RPM, Imp, V, m / s
-Entrada de señal:
-Ancho de banda de la señal 0,1 Hz .. 10 MHz
-Tensión de entrada 150 V. ... 660 V (ajuste de fábrica: 500 V) con ajuste manual
-Salida fotoeléctrica para alimentación de 5 V sat. max 1 A
-Cronómetro 0.000.... 99.999,9 s, resolución 1 ms
-Temporizador 0.000 ms.... 3999.99 s, resolución1µs
-Velocidad 0.000 m/s...9999.9 m/s, resolución 0.001 m/s
-Medición del período 0,000 ms .... 99,9999 s, resolución 1µs
-Medición de frecuencia 0,00 Hz .. 9,99999 MHz, resolución 10 mHz
-Medición de velocidad 6. . 99.999 RPM, 1 RPM de resolución
-Recuento de impulsos 0. . 999,999 Imp
-Medición de la frecuencia de impulsos 0,0.... 99.999,9 I / s
-Alimentación eléctrica: Tensión de red 110 .. 240 V, 50/60 Hz, 20 VA
-Dimensiones de la carcasa (An, Al, Fo) 370 x 168 x 236 (mm)
-Masa de 2,9 kilogramos


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