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


Patología humana, set de 50 preparados para microscopio

Nº de artículo LIE-9200

Funciones y uso

9200 Set Básico de Patología Humana. - 50 preparaciones microscópicas - Alteraciones anormales de células y tejidos 1. Degeneración parenquimatosa y grasa del hígado 2. Hemosiderosis del hígado 3. 3. Glucogenosis del hígado 4. Cirrosis pigmentaria del hígado Cirrosis pigmentaria del hígado 5. Esofagitis necrótica 6. Granuloma de cuerpo extraño con hemosiderina y células gigantes 7. Amigdalitis 7. Amigdalitis 8. Cirrosis hepática 9. Lesión de los órganos circulatorios y de los órganos hematopoyéticos Adiposis del corazón 10. Calosidad cardíaca 11. 11. Miocarditis crónica aguda recidivante Trombosis venosa organizada del músculo 13. Infarto del bazo 14. 14. Leucemia mieloide crónica del bazo 15. Melanemia palúdica del bazo 16. Alteraciones patológicas del pulmón y del hígado, tuberculosis, neumonía Antracosis pulmonar 17. Infarto hemorrágico de pulmón 18. Neumonía gripal 19. Neumonía crupal 20. Neumonía crónica 21. Neumonía necrótica (cursi) 22. 22. Tuberculosis pulmonar miliar 23. Tuberculosis pulmonar crónica 23. Cavidad pulmonar tuberculosa crónica con bacterias Icterus hepatis Reacción del riñón tras la arteriosclerosis, la alteración del metabolismo y la inflamación; colitis 25. Atrofia glomerular del riñón Atrofia glomerular del riñón 26. Degeneración amiloidea del riñón 27. 27. Nefritis hemorrágica aguda 28. Glomerulonefritis crónica Glomerulonefritis crónica 29. Nefritis embólica séptica 30. Colitis disentérica Shiga-Kruse Inflamaciones específicas tras la infección por espiroquetas de la sífilis 31. Sífilis congénita del hígado, espiroquetas plateadas después de Levaditi 32. 32. Sífilis congénita del hígado (hígado de Feuerstein), tinción de rutina Goma de testículo Alteración progresiva de los tejidos y órganos lesionados (hipertrofia e hiperplasia) 34. Ateroma de cabeza 35. Estruma coloide 36. 36. Testículo no descendido con hiperplasia de las células de Leydig 37. Hipertrofia de la próstata 38. Tumores benignos y malignos 38. Sarcoma de células gigantes del maxilar superior 39. Condroma de pubis 40. Mioma de útero 40. Mioma de útero 41. 41. Fibroadenoma de mama 42. Tumor mixto fibroepitelial de la glándula parótida 43. Melanosarcoma de piel Sarcoma de células fusiformes 45. Carcinoma cervical 46. Sarcoma de testículo 47. 47. Cistadenoma papilífero de ovario 48. Carcinoma gelatinoso de recto 49. Linfosarcoma mediastínico

Carcinoma

metastásico de hígado

Los microportaobjetos se suministran en una caja de portaobjetos.

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