PageSourceSearch

https://www.gymnasium-odenthal.de/wp-content/plugins/host-webfonts…/js/omgf-frontend.min.js?ver=1791045514

js gymnasium-odenthal.de collected 2026-10-04 15:33:17 UTC 12,436 bytes, 1 lines download raw bytes

1let omgf_font_cls=0,omgf_fonts_ready=!1,omgf_dom_content_loaded="loading"!==document.readyState,omgf_dom_content_loaded_time=omgf_dom_content_loaded?performance.now():0,omgf_cls_supported=!1;omgf_dom_content_loaded||document.addEventListener("DOMContentLoaded",()=>{omgf_dom_content_loaded=!0,omgf_dom_content_loaded_time=performance.now()});try{let e=new PerformanceObserver(()=>{});e.observe({type:"layout-shift",buffered:!1}),e.disconnect(),omgf_cls_supported=!0}catch(e){}if(omgf_cls_supported&&void 0!==document.fonts&&void 0!==document.fonts.ready)try{let e=new PerformanceObserver(e=>{e.getEntries().forEach(e=>{!e.hadRecentInput&&omgf_dom_content_loaded&&!omgf_fonts_ready&&e.startTime>=omgf_dom_content_loaded_time&&(omgf_font_cls+=e.value)})});e.observe({type:"layout-shift",buffered:!0}),document.fonts.ready.then(()=>{omgf_fonts_ready=!0,e.disconnect()})}catch(e){}window.addEventListener("load",()=>{let p={menu_item:document.getElementById("wp-admin-bar-omgf"),sub_menu:document.getElementById("wp-admin-bar-omgf-default"),skip_results:omgf_frontend_results.skip||!1,init:async function(){let e=[],t=[],n=null;
1try{var o,a=this.filterGoogleFonts(),i=(o=await this.getStatus(a)).unused_fonts_analysis||{},r=(t=o.unused_fonts||[],o.preload_analysis||{}),s=(e=o.missing_preloads||[],o.cls_analysis||{}),l=(n=o.status||null,null!==this.menu_item&&(this.menu_item.classList.add("dot"),n)&&this.menu_item.classList.add(n),"alert"===n&&o.download_failures&&!o.google_fonts_checker_alert);if("success"===n||"warning"===n||l||this.addInfoBox(n),o.download_failures&&this.addInfoBox("download_failures",o),!p.skip_results){if(omgf_frontend_i18n.multilang_plugin_used){var f=omgf_frontend_i18n.subsets_count;if(1<f){let e=omgf_frontend_i18n.info_box_impact_low;3===f?e=omgf_frontend_i18n.info_box_impact_medium:3<f&&(e=omgf_frontend_i18n.info_box_impact_high);var d={name:omgf_frontend_i18n.multilang_plugin_name,subsets_count:f,impact:e};this.addInfoBox("multilang_plugin",d)}}i&&i.count&&this.addInfoBox("unload_notice",i),r&&0<r.potential_delay_ms&&0<e.length&&this.addInfoBox("preload_notice",r,e.length),s&&.01<=s.cls&&this.addInfoBox("cls_notice",s)}}catch(e){console.error("OMGF - Error running Google Fonts Checker:",e)}finally{document.dispatchEvent(new CustomEvent("omgf_frontend_loaded",{detail:{missing_preloads:e,unused_fonts:t,status:n}}))}},filterGoogleFonts:()=>{var e=window.performance.getEntries().filter(e=>{var t,n=0<e.name.indexOf("/fonts.googleapis.com/css")||0<e.name.indexOf("/fonts.googleapis.com/icon");let o=0<e.name.indexOf("/fonts.gstatic.com/");return o&&(t=/\.(woff2|woff|ttf|otf)(\?.*)?$/i.test(e.name),e=!e.initiatorType||["css","link","other"].includes(e.initiatorType),o=t&&e),n||o});if(0===e.length)return[];console.log("OMGF has found the following Google Fonts API calls:");let t=[];return e.forEach(e=>{t.push(e.name),console.log(" - "+e.name)}),t},normalizeFontWeight:function(e){return"normal"===(e=String(e||"400").trim().toLowerCase())?"400":"bold"===e?"700":e},isFaceUsed:function(e,t,n,o){if(e.has((t+`-${n}-`+o).toLowerCase()))return!0;var a=n.split(/\s+/).map(Number);if(2===a.length&&!a.some(isNaN))for(var i of e){var r=(t+"-").toLowerCase(),s=("-"+o).toLowerCase();if(i.startsWith(r)&&i.endsWith(s)){r=Number(i.slice(r.length,i.length-s.length));if(r>=a[0]&&r<=a[1])return!0}}return!1},extractCrossOriginFontFaceRules:async function(e,i,r){if("undefined"!=typeof CSSStyleSheet&&"function"==typeof CSSStyleSheet.prototype.replaceSync){e=[...new Set(e)].slice(0,10);await Promise.all(e.map(async e=>{let t="undefined"!=typeof AbortController?new AbortController:null;var n=t?setTimeout(()=>t.abort(),3e3):null;try{var o,a=await fetch(e,{mode:"cors",credentials:"omit",signal:t?t.signal:void 0});a.ok&&((o=new CSSStyleSheet).replaceSync(await a.text()),this.extractFontFaceRules(o.cssRules,{href:e},i,r))}catch(e){}finally{n&&clearTimeout(n)}}))}},getFontFaceProperty:function(e,t){var n=e.style.getPropertyValue(t);return n?n.replace(/["']/g,"").trim():(n=e.cssText.match(new RegExp(t+"\\s*:\\s*([^;]+)","i")))?n[1].replace(/["']/g,"").trim():null},extractFontFaceRules:function(t,n,o,a){for(let e=0;e<t.length;e++){var i=t[e];if(i.type===CSSRule.IMPORT_RULE&&i.styleSheet&&(s=i.styleSheet.cssRules||i.styleSheet.rules)&&this.extractFontFaceRules(s,i.styleSheet,o,a),"CSSFontFaceRule"===i.constructor.name||i.type===CSSRule.FONT_FACE_RULE){var r,s=this.getFontFaceProperty(i,"font-family"),l=this.getFontFaceProperty(i,"font-weight")||"400",f=this.getFontFaceProperty(i,"font-style")||"normal",l=this.normalizeFontWeight(l);let e=i.style.getPropertyValue("src")||i.style.src,t=(e=e||this.getFontFaceProperty(i,"src"))?e.match(/url\(["']?([^"')]+\.woff2[^"')]*?)["']?\)/):null;(t=t||(e?e.match(/url\(["']?([^"')]+)["']?\)/):null))&&(r=new URL(t[1],n.href||document.baseURI).href,f=(s+`-${l}-`+f+((l=i.style.getPropertyValue("unicode-range")||"")?"-"+l:"")).toLowerCase(),o.has(f)||o.set(f,r),a.has(r))&&o.set(f,r)}}},getStatus:async function(e){var t=new URLSearchParams(window.location.search),t=Object.fromEntries(t.entries());let _=[],c=[];if(void 0!==document.fonts&&void 0!==document.fonts.ready){await document.fonts.ready;let s=[];document.head.querySelectorAll('link[rel="preload"][as="font"]').forEach(e
1=>{s.push(e.href)});let l=new Set,f=new Set;var o=document.querySelectorAll("body *:not(#wpadminbar):not(#wpadminbar *)");for(let e=0;e<o.length&&e<1500;e++){let a=o[e];var m=a.getBoundingClientRect(),u=window.getComputedStyle(a),g=u.fontFamily.replace(/["']/g,"");let t=u.fontWeight,n=u.fontStyle,i=m.top<window.innerHeight&&0<m.bottom&&m.left<window.innerWidth&&0<m.right,r=0<m.width||0<m.height;g.split(",").forEach(e=>{e=(`${e=e.trim()}-${t}-`+n).toLowerCase();i&&l.add(e),r||f.add(e)}),["::before","::after"].forEach(e=>{var e=window.getComputedStyle(a,e),t=e.fontFamily.replace(/["']/g,"");let n=e.fontWeight,o=e.fontStyle;t.split(",").forEach(e=>{e=(`${e=e.trim()}-${n}-`+o).toLowerCase();i&&l.add(e),r||f.add(e)})})}var n=new Set(window.performance.getEntriesByType("resource").filter(e=>e.name.match(/\.(woff2?|ttf|otf)(\?.*)?$/i)).map(e=>e.name));let d=new Map;var a=[];for(let e=0;e<document.styleSheets.length;e++){var i=document.styleSheets[e];try{var r=i.cssRules||i.rules;r&&this.extractFontFaceRules(r,i,d,n)}catch(e){i.href&&a.push(i.href)}}await this.extractCrossOriginFontFaceRules(a,d,n),document.fonts.forEach(e=>{let n=e.family.replace(/["']/g,"");var t=this.normalizeFontWeight(e.weight),o=e.style,a=(n+`-${t}-`+o).toLowerCase(),i=(a+"-"+(e.unicodeRange||"")).toLowerCase();let r=d.get(i)||d.get(a);"loaded"===e.status&&r&&this.isFaceUsed(l,n,t,o)&&(s.some(e=>{var t;return!(!r||e!==r)||(t=n.toLowerCase().replace(/\s/g,"-"),e=e.toLowerCase(),new RegExp("(^|[/_-])"+t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"([./_-]|$)","i").test(e))})||_.some(e=>e.family===n&&e.url===r)||_.push({family:n,weight:t,style:o,url:r})),"unloaded"===e.status&&!this.isFaceUsed(f,n,t,o)&&r&&c.push({family:n,weight:t,style:o,url:r,unicode_range:e.unicodeRange})})}let s=this.analyzeUnusedFonts(c),l=await this.analyzePreloadImpact(_),f=this.analyzeCLS(omgf_font_cls);var d=new FormData;return d.append("path",document.location.pathname),d.append("urls",JSON.stringify(e)),d.append("params",JSON.stringify(t)),d.append("unused_fonts_analysis",JSON.stringify(s)),d.append("preload_analysis",JSON.stringify(l)),d.append("cls_analysis",JSON.stringify(f)),p.ajax(d).then(e=>(e&&(e.unused_fonts_analysis=s,e.unused_fonts=c,e.preload_analysis=l,e.missing_preloads=_,e.cls_analysis=f),e))},forEachMatchingResources:function(e,n,o){e.forEach(i=>{let t=i.family,r=i.url,s=t.toLowerCase().replace(/\s/g,"-");n.filter(e=>{var t=e.name.toLowerCase();if(r&&e.name===r)return!0;if(!new RegExp("(^|[/_-])"+s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"([./_-]|\\.|$)","i").test(t))return!1;if(void 0===i.weight)return!0;let n=i.weight;var e=i.style,o=("bold"===(n="normal"===n?"400":n)&&(n="700"),new RegExp(`[./_-]${n}([./_-]|\\.|$)`,"i"));let a=!0;return"italic"===e?a=t.includes("italic")||/[._-]i\.(woff|woff2|ttf|otf)/.test(t)||/\d{3}i\.(woff|woff2|ttf|otf)/.test(t):"normal"===e&&(a=!t.includes("italic")),o.test(t)&&a}).forEach(e=>{o(e,t)})})},getFontResources:function(){return window.performance.getEntriesByType("resource").filter(e=>e.name.match(/\.(woff|woff2|ttf|otf)(\?.*)?$/i))},analyzeUnusedFonts:function(e){if(0===e.length)return{};e=e.length;let t=omgf_frontend_i18n.info_box_impact_low;return 6<e?t=omgf_frontend_i18n.info_box_impact_high:3<=e&&(t=omgf_frontend_i18n.info_box_impact_medium),{count:e,impact:t}},analyzeCLS:function(e){let t=omgf_frontend_i18n.info_box_impact_low;e=Math.round(1e3*e)/1e3;return e<.01?{}:(.1<e&&(t=omgf_frontend_i18n.info_box_impact_medium),{cls:e,impact:t=.25<e?omgf_frontend_i18n.info_box_impact_high:t})},analyzePreloadImpact:async function(n){if(0===n.length)return{};let o={affects_lcp:!1,potential_delay_ms:0,impact:omgf_frontend_i18n.info_box_impact_low};try{var a=await new Promise(t=>{let n=new PerformanceObserver(e=>{e=e.getEntries(),e=e[e.length-1];n.disconnect(),t(e)});n.observe({type:"largest-contentful-paint",buffered:!0}),setTimeout(()=>{n.disconnect(),t(null)},2e3)});if(!a)return o;var i=a.element;let e=!1;if(!(e=i?"string"==typeof i.innerText&&0<i.innerText.trim().length||"string"==typeof i.textContent&&0<i.textContent.trim().length:e))return o;var r=this.getFontResources();let t=0;if(this.forEachMatchingResources(n,r,e=>{e=e.responseEnd-e.startTime;0<e&&(o.affects_lcp=!0,e>t)&&(t=e)}),o.potential_delay_ms=Math.round(t),o.potential_delay_ms<=5)return{};100<o.potential_delay_ms?o.impact=omgf_frontend_i18n.info_box_impact_high:20<o.potential_delay_ms&&(o.impact=omgf_frontend_i18n.info_box_impact_medium)}catch(e){return console.warn("OMGF - Error analyzing preload impact:",e),{}}return o},ajax:function(e){return fetch(omgf_frontend_i18n.api_url,{method:"POST",credentials:"same-origin",headers:{"X-WP-Nonce":omgf_frontend_i18n.nonce},body:e}).then(e=>!!e.ok&&e.json())},addInfoBox:function(e,t,n){var o,a=document.createElement("li");a.id="wp-admin-bar-omgf-info","alert"===e&&(a.innerHTML=`<a class="ab-item" href="${omgf_frontend_i18n.info_box_admin_url}">${omgf_frontend_i18n.info_box_alert_text}</a>`),"notice"===e&&(a.innerHTML=`<a class="ab-item" href="${omgf_frontend_i18n.info_box_admin_url}">${omgf_frontend_i18n.info_box_notice_text}</a>`),"multilang_plugin"===e&&(a.id="wp-admin-bar-omgf-multilang-info",o=p.sprintf(omgf_frontend_i18n.info_box_multilang_plugin_text,omgf_frontend_i18n.multilang_plugin_name,t.subsets_count,t.impact),a.innerHTML=`<a class="ab-item" href="${omgf_frontend_i18n.info_box_admin_url}">${o}</a>`),"unload_notice"===e&&(a.id="wp-admin-bar-omgf-unload-info",o=p.sprintf(omgf_frontend_i18n.info_box_unload_text,t.count||0,t.impact||omgf_frontend_i18n.info_box_impact_low),a.innerHTML=`<a class="ab-item" href="${omgf_frontend_i18n.info_box_admin_url}">${o}</a>`),"preload_notice"===e&&(a.id="wp-admin-bar-omgf-preload-info",o=p.sprintf(omgf_frontend_i18n.info_box_preload_text,n||0,t.potential_delay_ms||0,t.impact||omgf_frontend_i18n.info_box_impact_low),a.innerHTML=`<a class="ab-item" href="${omgf_frontend_i18n.info_box_admin_url}">${o}</a>`),"download_failures"===e&&(a.id="wp-admin-bar-omgf-download-failures",a.classList.add("alert"),(n=document.createElement("a")).className="ab-item",n.href=omgf_frontend_i18n.info_box_admin_url,n.textContent=t.download_failures_text||"",a.appendChild(n)),"cls_notice"===e&&(a.id="wp-admin-bar-omgf-cls-info",o=p.sprintf(omgf_frontend_i18n.info_box_cls_text,t.cls,t.impact),a.innerHTML=`<a class="ab-item" href="${omgf_frontend_i18n.info_box_admin_url}">${o}</a>`),"cls_notice"!==e&&"unload_notice"!==e&&"preload_notice"!==e&&"multilang_plugin"!==e||a.classList.add("info"),"info"===e&&omgf_frontend_i18n.first_run&&document.getElementById("wp-admin-bar-omgf-optimize-this")?.classList.add("info"),p.sub_menu&&p.sub_menu.prepend(a)},sprintf:function(e){let a=arguments,i=1;return e.replace(/%(s|d|0\d+d)/g,function(e,t){var n=a[i++];switch(t){case"s":return n;case"d":return parseInt(n,10);default:var n=String(parseInt(n,10)),o=Number(t.slice(1,-1));return"0".repeat(o).slice(n.length)+n}})}},e=window.performance.getEntries(),t=0,n=setInterval(()=>{t++,((e=e.length<window.performance.getEntries().length?window.performance.getEntries():e).length===window.performance.getEntries().length||20<=t)&&(clearInterval(n),p.init())},500)});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.