{"id":5,"date":"2026-09-08T13:15:37","date_gmt":"2026-09-08T13:15:37","guid":{"rendered":"https:\/\/hp.159.195.205.131.sslip.io\/?page_id=5"},"modified":"2026-09-08T13:15:37","modified_gmt":"2026-09-08T13:15:37","slug":"lernplattform","status":"publish","type":"page","link":"https:\/\/lernapp.werkstern.de\/","title":{"rendered":"HP Lernplattform"},"content":{"rendered":"<p>Geschlossener Testbetrieb.<\/p>\n<style id=\"hp-lernapp-fallback-style\">#hp-lernapp-fallback{visibility:hidden;opacity:0;animation:hp-lernapp-fallback-in .3s ease 5s forwards;max-width:420px;margin:12vh auto 0;padding:24px 20px;text-align:center;font-family:system-ui,-apple-system,\"Segoe UI\",Roboto,sans-serif;font-size:15px;line-height:1.55;color:#2b3a2a}\n#hp-lernapp-fallback strong{display:block;margin-bottom:8px;font-size:18px}\n#hp-lernapp-fallback ol{margin:12px 0 0;padding-left:20px;text-align:left}\n#hp-lernapp-fallback [hidden]{display:none}\n#hp-lernapp-fallback .hp-lf-warn{margin:0 0 10px;font-weight:600;color:#8a2f1f}\n#hp-lernapp-fallback .hp-lf-ask{margin:18px 0 0}\n#hp-lernapp-fallback .hp-lf-send{display:inline-block;margin-top:10px;padding:12px 24px;border-radius:999px;background:#2f472d;color:#fff;font-weight:600;text-decoration:none}\n#hp-lernapp-fallback .hp-lf-send:focus-visible{outline:3px solid #8faa89;outline-offset:2px}\n#hp-lernapp-fallback .hp-lf-note{margin:12px 0 0;font-size:14px}\n#hp-lernapp-fallback details{margin-top:14px;font-size:13px;color:#5b6b5a}\n#hp-lernapp-fallback summary{cursor:pointer}\n#hp-lernapp-fallback pre{margin:8px 0 0;padding:10px;text-align:left;white-space:pre-wrap;word-break:break-word;background:#f1f3ee;border-radius:8px;max-height:40vh;overflow:auto;font:12px\/1.45 ui-monospace,Consolas,monospace;color:#2b3a2a}\n@keyframes hp-lernapp-fallback-in{to{visibility:visible;opacity:1}}<\/style><div id=\"hp-lernapp-fallback\" role=\"status\" data-to=\"info@werkstern.de\" data-js=\"https:\/\/lernapp.werkstern.de\/wp-content\/plugins\/hp-lernapp\/public\/js\/lernapp.js?ver=0.47.1\" data-js-bytes=\"838837\" data-ver=\"0.47.1\"><strong>Die Lernapp startet nicht?<\/strong><noscript><p class=\"hp-lf-warn\">In deinem Browser ist JavaScript ausgeschaltet. Die Lernapp braucht es \u2013 bitte in den Einstellungen des Browsers einschalten.<\/p><\/noscript>Dein Browser hat die App nicht vollst\u00e4ndig geladen. Bitte probiere nacheinander:<ol><li>Seite neu laden (am PC Strg + F5).<\/li><li>Ein privates Fenster \u00f6ffnen und die Seite dort aufrufen.<\/li><li>Ein anderes Netz, z. B. den Hotspot deines Handys \u2013 Virenschutz, VPN oder Firmennetz k\u00f6nnen die App blockieren.<\/li><\/ol><p class=\"hp-lf-ask\">Klappt nichts davon? Schick uns den Fehlerbericht \u2013 damit finden wir die Ursache.<\/p><a id=\"hp-lernapp-report-mail\" class=\"hp-lf-send\" href=\"mailto:info@werkstern.de?subject=Lernapp%20startet%20nicht%20%E2%80%93%20Fehlerbericht&amp;body=JavaScript%20lief%20nicht%20%E2%80%93%20der%20Browser%20hat%20es%20ausgeschaltet%20oder%20blockiert.\">Fehlerbericht senden<\/a><p id=\"hp-lernapp-report-note\" class=\"hp-lf-note\" hidden><\/p><details><summary>Bericht ansehen<\/summary><pre id=\"hp-lernapp-report-text\">JavaScript lief nicht \u2013 der Browser hat es ausgeschaltet oder blockiert.<\/pre><\/details><script id=\"hp-lernapp-report-js\">(function () {\n  'use strict';\n  var box = document.getElementById('hp-lernapp-fallback');\n  var link = document.getElementById('hp-lernapp-report-mail');\n  var pre = document.getElementById('hp-lernapp-report-text');\n  var note = document.getElementById('hp-lernapp-report-note');\n  if (!box || !link || !pre) return;\n  var TO = box.getAttribute('data-to') || '';\n  var JS_URL = box.getAttribute('data-js') || '';\n  var JS_BYTES = parseInt(box.getAttribute('data-js-bytes'), 10) || 0;\n  var VER = box.getAttribute('data-ver') || '';\n  var SUBJECT = 'Lernapp startet nicht \u2013 Fehlerbericht';\n  var t0 = Date.now(), seen = [], probe = 'noch nicht gestartet';\n\n  function clean(s, n) { return String(s == null ? '' : s).replace(\/\\s+\/g, ' ').slice(0, n || 160); }\n  function path(u) {\n    u = String(u || '');\n    if (!\/^[a-z][a-z0-9+.-]*:\\\/\\\/\/i.test(u)) return clean(u, 60);\n    var a = document.createElement('a'); a.href = u;\n    var p = (a.pathname || '').replace(\/^\\\/wp-content\\\/plugins\\\/hp-lernapp\\\/\/, '');\n    return a.host && a.host !== location.host ? a.protocol + '\/\/' + a.host + p : p;\n  }\n  function log(kind, text) { if (seen.length < 12) seen.push(((Date.now() - t0) \/ 1000).toFixed(1) + ' s ' + kind + ' ' + clean(text, 200)); }\n  function onError(ev) {\n    try {\n      var t = ev && ev.target;\n      if (t && t !== window && t.tagName) { log('Ladefehler', t.tagName.toLowerCase() + ' ' + path(t.src || t.href)); return; }\n      log('Fehler', clean(ev.message || (ev.error && ev.error.message) || 'unbekannt') + (ev.filename ? ' bei ' + path(ev.filename) + ':' + (ev.lineno || 0) + ':' + (ev.colno || 0) : ''));\n    } catch (e) {}\n  }\n  function onLoad(ev) {\n    try {\n      var t = ev.target;\n      if (t && (t.tagName === 'SCRIPT' || t.tagName === 'LINK') && (t.src || t.href)) log('geladen', t.tagName.toLowerCase() + ' ' + path(t.src || t.href));\n    } catch (e) {}\n  }\n  function onCsp(ev) { try { log('blockiert', clean(ev.violatedDirective, 40) + ' ' + path(ev.blockedURI)); } catch (e) {} }\n  window.addEventListener('error', onError, true);\n  document.addEventListener('load', onLoad, true);\n  document.addEventListener('securitypolicyviolation', onCsp, true);\n  function stop() {\n    window.removeEventListener('error', onError, true);\n    document.removeEventListener('load', onLoad, true);\n    document.removeEventListener('securitypolicyviolation', onCsp, true);\n  }\n\n  function storage() { try { localStorage.setItem('hp-lf-probe', '1'); localStorage.removeItem('hp-lf-probe'); return 'ok'; } catch (e) { return 'gesperrt'; } }\n  function css() {\n    try {\n      for (var i = 0; i < document.styleSheets.length; i++) {\n        var s = document.styleSheets[i];\n        if (s.href && s.href.indexOf('\/public\/css\/lernapp.css') > -1) { try { return s.cssRules.length + ' Regeln'; } catch (e) { return 'nicht lesbar'; } }\n      }\n    } catch (e) {}\n    return 'nicht geladen';\n  }\n  function timing() {\n    var out = [];\n    try {\n      var es = performance.getEntriesByType('resource');\n      for (var i = 0; i < es.length && out.length < 8; i++) {\n        var e = es[i];\n        if (e.initiatorType === 'fetch' || e.name.indexOf('\/plugins\/hp-lernapp\/public\/') < 0) continue;\n        out.push(path(e.name).replace(\/^public\\\/\/, '') + ' ' + (e.responseStatus || '-') + '\/' + (e.decodedBodySize || 0) + ' B\/' + Math.round(e.duration) + ' ms');\n      }\n    } catch (e) {}\n    return out.join('; ') || 'keine';\n  }\n  function foreign() {\n    var out = [], ss = document.getElementsByTagName('script');\n    for (var i = 0; i < ss.length && out.length < 5; i++) {\n      var p = ss[i].src ? path(ss[i].src) : '';\n      if (\/^[a-z][a-z0-9+.-]*:\\\/\\\/\/i.test(p)) out.push(p);\n    }\n    return out.join(', ') || 'keine';\n  }\n  function report() {\n    var n = navigator, cfg = window.hpLernapp, standalone = false, sw = 'keiner';\n    try { standalone = !!(window.matchMedia && window.matchMedia('(display-mode: standalone)').matches) || n.standalone === true; } catch (e) {}\n    try { if (n.serviceWorker && n.serviceWorker.controller) sw = 'aktiv'; } catch (e) {}\n    return [\n      'Lernapp-Fehlerbericht ' + VER,\n      'Zeit: ' + new Date().toISOString() + ', Seite: ' + location.protocol + '\/\/' + location.host + location.pathname,\n      'Angemeldet: ' + (cfg && cfg.user ? (cfg.user.loggedIn ? 'ja' : 'nein') : 'unbekannt'),\n      'Browser: ' + clean(n.userAgent, 300),\n      'Bildschirm ' + screen.width + 'x' + screen.height + ', Fenster ' + window.innerWidth + 'x' + window.innerHeight + ', Sprache ' + (n.language || '-'),\n      'Installiert: ' + (standalone ? 'ja' : 'nein') + ', online: ' + (n.onLine ? 'ja' : 'nein') + ', Cookies: ' + (n.cookieEnabled ? 'ja' : 'nein') + ', Speicher: ' + storage() + ', Service Worker: ' + sw,\n      'Ladezustand: ' + document.readyState + ', Startdaten: ' + (cfg ? 'ja' : 'nein') + ', App-Skript im HTML: ' + (document.getElementById('hp-lernapp-js') ? 'ja' : 'nein') + ', lernapp.css: ' + css(),\n      'Ladezeiten: ' + timing(),\n      'Fremde Skripte: ' + foreign(),\n      'Abruf lernapp.js: ' + probe,\n      'Ereignisse:' + (seen.length ? '\\n' + seen.join('\\n') : ' keine')\n    ].join('\\n');\n  }\n  function mailto(txt) {\n    var head = 'mailto:' + TO + '?subject=' + encodeURIComponent(SUBJECT) + '&body=';\n    function body(t, cut) {\n      return encodeURIComponent(('Hallo,\\n\\ndie Lernapp startet bei mir nicht. Hier ist der automatische Bericht'\n        + (cut ? ' (gek\u00fcrzt, vollst\u00e4ndig in der Zwischenablage)' : '') + ':\\n\\n' + t + '\\n').replace(\/\\r?\\n\/g, '\\r\\n'));\n    }\n    var enc = body(txt, false), cut = txt;\n    while (head.length + enc.length > 1900 && cut.length > 200) { cut = cut.slice(0, Math.floor(cut.length * 0.85)); enc = body(cut + ' \u2026', true); }\n    return head + enc;\n  }\n  function refresh() { try { var txt = report(); pre.textContent = txt; link.href = mailto(txt); } catch (e) {} }\n  function legacyCopy(text) {\n    var ta = document.createElement('textarea'), ok = false;\n    ta.value = text; ta.setAttribute('readonly', '');\n    ta.style.position = 'fixed'; ta.style.top = '0'; ta.style.left = '-9999px'; ta.style.opacity = '0';\n    document.body.appendChild(ta); ta.select();\n    try { ta.setSelectionRange(0, text.length); } catch (e) {}\n    try { ok = document.execCommand('copy'); } catch (e) { ok = false; }\n    document.body.removeChild(ta);\n    try { link.focus(); } catch (e) {}\n    return ok;\n  }\n  function told(ok) {\n    if (!note) return;\n    note.hidden = false;\n    note.textContent = ok\n      ? 'Bericht kopiert. \u00d6ffnet sich kein Mailprogramm, schreib eine Mail an ' + TO + ' und f\u00fcge den Bericht ein (am PC Strg + V).'\n      : '\u00d6ffnet sich kein Mailprogramm, kopiere den Bericht unten und schick ihn an ' + TO + '.';\n    if (!ok && pre.parentNode && 'open' in pre.parentNode) pre.parentNode.open = true;\n  }\n  link.addEventListener('click', function () {\n    refresh();\n    var text = pre.textContent, ok = false;\n    try { ok = legacyCopy(text); } catch (e) {}\n    if (ok || !navigator.clipboard || !navigator.clipboard.writeText) { told(ok); return; }\n    navigator.clipboard.writeText(text).then(function () { told(true); }, function () { told(false); });\n  });\n  function runProbe(cb) {\n    var tag = document.getElementById('hp-lernapp-js'), url = (tag && tag.src) || JS_URL, start = Date.now(), ctl = null, timer = 0, fin = false;\n    function end(s) { if (fin) return; fin = true; probe = s; clearTimeout(timer); cb(); }\n    if (!window.fetch || !url) { end('nicht m\u00f6glich'); return; }\n    try { ctl = new AbortController(); } catch (e) {}\n    timer = setTimeout(function () { if (ctl) ctl.abort(); end('keine Antwort nach 10 s'); }, 10000);\n    var opts = { cache: 'no-store', credentials: 'same-origin' };\n    if (ctl) opts.signal = ctl.signal;\n    fetch(url, opts).then(function (r) {\n      var head = 'HTTP ' + r.status + ', ' + (r.headers.get('content-type') || 'ohne Typ');\n      return r.arrayBuffer().then(function (buf) {\n        var len = buf.byteLength, a = '', z = '';\n        try { var dec = new TextDecoder('utf-8'); a = dec.decode(buf.slice(0, 120)); z = dec.decode(buf.slice(Math.max(0, len - 60))); } catch (e) {}\n        end(head + ', ' + len + ' Bytes' + (JS_BYTES ? (len === JS_BYTES ? ' (vollst\u00e4ndig)' : ' (erwartet ' + JS_BYTES + ')') : '')\n          + ', ' + (Date.now() - start) + ' ms, Anfang \"' + clean(a, 60) + '\", Ende \"' + clean(z, 200).slice(-40) + '\"');\n      });\n    }).then(null, function (e) {\n      end(e && e.name === 'AbortError' ? 'keine Antwort nach 10 s' : 'Netzfehler: ' + clean((e && (e.message || e.name)) || e, 120));\n    });\n  }\n  refresh();\n  setTimeout(function () {\n    if (!document.getElementById('hp-lernapp-fallback')) { stop(); return; }\n    probe = 'l\u00e4uft'; refresh();\n    runProbe(function () { if (document.getElementById('hp-lernapp-fallback')) refresh(); else stop(); });\n  }, 5000);\n})();<\/script><\/div><div id=\"hp-lernapp-root\" class=\"hp-lernapp\" data-view=\"dashboard\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Geschlossener Testbetrieb.<\/p>\n","protected":false},"author":0,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-5","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/lernapp.werkstern.de\/index.php?rest_route=\/wp\/v2\/pages\/5","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lernapp.werkstern.de\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lernapp.werkstern.de\/index.php?rest_route=\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/lernapp.werkstern.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5"}],"version-history":[{"count":0,"href":"https:\/\/lernapp.werkstern.de\/index.php?rest_route=\/wp\/v2\/pages\/5\/revisions"}],"wp:attachment":[{"href":"https:\/\/lernapp.werkstern.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}