https://mcpsmd.app/status

Eingereichte URL:
https://mcpsmd.app/Umgeleitet
Bericht beendet:

Die von der Seite ausgehenden identifizierten Links

JavaScript-Variablen · 12 gefunden

Globale JavaScript-Variablen, die in das Window Object einer Seite geladen werden, sind Variablen, die außerhalb von Funktionen deklariert werden und von jeder Stelle des Codes innerhalb des aktuellen Bereichs zugänglich sind

NameTyp
0object
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject
__cfQRobject
requestNotificationPermissionfunction
subscribeUserToPushNotificationsfunction
sendSubscriptionToServerfunction
urlBase64ToUint8Arrayfunction
tailwindobject

Konsolenprotokoll-Meldungen · 3 gefunden

In der Web-Konsole protokollierte Meldungen

TypKategorieProtokoll
warningother
URL
https://cdn.tailwindcss.com/
Text
cdn.tailwindcss.com should not be used in production. To use Tailwind CSS in production, install it as a PostCSS plugin or use the Tailwind CLI: https://tailwindcss.com/docs/installation
logjavascript
Text
Service Worker registered: JSHandle@object
errorother
Text
Notification permission not granted.

HTML

Der HTML-Rohtext der Seite

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>MCPS Status Page - Code Green</title>
    <link rel="apple-touch-icon" href="/static/img/green/apple-touch-icon-180x180.png">
    <link rel="shortcut icon" href="/static/img/green/apple-touch-icon-180x180.png">
    <meta property="og:url" content="https://mcpsmd.app/status">
    <meta property="title" content="There is currently a Code Green for Montgomery County Public Schools (MCPS).">
    <meta property="og:title" content="There is currently a Code Green for Montgomery County Public Schools (MCPS).">
    <meta property="og:image" content="/static/img/green.png">
    <meta property="image" content="/static/img/green.png">
    <meta property="og:description" content="All schools and offices are open on time. Before and After school childcare programs and Community Use occur as scheduled">
    <meta property="description" content="All schools and offices are open on time. Before and After school childcare programs and Community Use occur as scheduled">
    <script type="text/javascript">
      // Check if service workers are supported
      if ('serviceWorker' in navigator) {
        // Register the service worker
        navigator.serviceWorker.register('/service-worker.js')
          .then(function (registration) {
            console.log('Service Worker registered:', registration);
    
            // Request permission for notifications
            requestNotificationPermission(registration);
          })
          .catch(function (error) {
            console.error('Service Worker registration failed:', error);
          });
      } else {
        console.error('Service Workers are not supported in this browser.');
      }
    
      // Function to request notification permission from the user
      function requestNotificationPermission(registration) {
        Notification.requestPermission()
          .then(function (permission) {
            if (permission === 'granted') {
              console.log('Notification permission granted.');
              // Subscribe the user to push notifications
              subscribeUserToPushNotifications(registration);
            } else {
              console.error('Notification permission not granted.');
            }
          })
          .catch(function (error) {
            console.error('Error requesting notification permission:', error);
          });
      }
    
      // Function to subscribe the user to push notifications
      function subscribeUserToPushNotifications(registration) {
        const applicationServerKey = urlBase64ToUint8Array('BGszmYGoUpftvo6gSyusAN22t0PfZMjkocRZx6Mj10-4J7raU-K-pMW0woRbG_3JyzyNjD6nODGcDHvEKsOE5pE');
    
        registration.pushManager.subscribe({
          userVisibleOnly: true,
          applicationServerKey: applicationServerKey
        })
        .then(function (subscription) {
          console.log('User is subscribed:', subscription);
    
          // Send the subscription to the server
          sendSubscriptionToServer(subscription);
        })
        .catch(function (error) {
          console.error('Failed to subscribe the user:', error);
        });
      }
    
      // Function to send the subscription object to the server
      function sendSubscriptionToServer(subscription) {
        fetch('/subscribe-notification', {
          method: 'POST',
          headers: {
            'Content-Type': 'application/json'
          },
          body: JSON.stringify(subscription)
        })
        .then(function (response) {
          if (!response.ok) {
            throw new Error('Bad status code from server.');
          }
          return response.json();
        })
        .then(function (data) {
          console.log('Server response:', data);
        })
        .catch(function (error) {
          console.error('Error sending subscription to server:', error);
        });
      }
    
      // Utility function to convert a base64url string to a Uint8Array
      function urlBase64ToUint8Array(base64String) {
        // Pad the base64 string if necessary
        const padding = '='.repeat((4 - (base64String.length % 4)) % 4);
        // Replace URL-safe characters with base64 characters
        const base64 = (base64String + padding)
          .replace(/\-/g, '+')
          .replace(/_/g, '/');
      
        // Decode the base64 string
        const rawData = atob(base64);
        // Create a Uint8Array of the appropriate length
        const outputArray = new Uint8Array(rawData.length);
      
        // Convert each character to its UTF-8 representation
        for (let i = 0; i < rawData.length; ++i) {
          outputArray[i] = rawData.charCodeAt(i);
        }
      
        return outputArray;
      }
    </script>
    <script src="https://cdn.tailwindcss.com" type="text/javascript"></script>
    <style>
      @font-face {
        font-family: 's';
        src: url(/static/fonts/font.woff2) format('woff2');
      }
      .custom-icon {
        font-family: 's';
        -moz-osx-font-smoothing: grayscale;
        -webkit-font-smoothing: antialiased;
        display: inline-block;
        font-style: normal;
        font-variant: normal;
        text-rendering: auto;
        line-height: 1;
      }
    </style>
  <style>/* ! tailwindcss v3.4.5 | MIT License | https://tailwindcss.com */*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}::after,::before{--tw-content:''}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*, ::before, ::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.fixed{position:fixed}.inset-x-0{left:0px;right:0px}.bottom-0{bottom:0px}.mx-auto{margin-left:auto;margin-right:auto}.mb-4{margin-bottom:1rem}.mr-2{margin-right:0.5rem}.mt-2{margin-top:0.5rem}.mt-4{margin-top:1rem}.flex{display:flex}.h-3{height:0.75rem}.h-screen{height:100vh}.w-3{width:0.75rem}.w-full{width:100%}.max-w-xs{max-width:20rem}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:0.5rem}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.p-4{padding:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.text-center{text-align:center}.font-sans{font-family:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:0.875rem;line-height:1.25rem}.text-xs{font-size:0.75rem;line-height:1rem}.font-bold{font-weight:700}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94 / var(--tw-text-opacity))}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}@media (min-width: 640px){.sm\:max-w-sm{max-width:24rem}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:0.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}.sm\:text-xs{font-size:0.75rem;line-height:1rem}}@media (min-width: 768px){.md\:max-w-md{max-width:28rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}}@media (min-width: 1024px){.lg\:max-w-lg{max-width:32rem}}@media (prefers-color-scheme: dark){.dark\:bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.dark\:bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.dark\:bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.dark\:font-bold{font-weight:700}.dark\:text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219 / var(--tw-text-opacity))}.dark\:text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175 / var(--tw-text-opacity))}.dark\:text-green-500{--tw-text-opacity:1;color:rgb(34 197 94 / var(--tw-text-opacity))}}</style></head>
  <body class="bg-gray-100 dark:bg-gray-800 font-sans">
    
      <!--<div id="banner" class="sticky top-0 z-50 bg-yellow-400 dark:bg-yellow-600 text-black text-center p-2 rounded-b-lg">
        <p>(10/14) Walt Whitman High is experiencing ongoing plumbing issues. School is cancelled after 11:15.</p>
      </div>-->
    

    

    <div class="flex items-center justify-center h-screen">
      <div class="w-full max-w-xs sm:max-w-sm md:max-w-md lg:max-w-lg px-4 py-6 mx-auto bg-white dark:bg-gray-700 rounded-lg shadow-md">
        <div class="text-center">
          <div class="flex flex-col items-center justify-center mb-4">
            <div class="flex items-center">
              <span class="h-3 w-3 rounded-full mr-2 bg-green-500 dark:bg-green-500"></span>
              <span class="text-lg sm:text-xl md:text-2xl font-bold text-green-500 dark:text-green-500">Code Green</span>
            </div>
            <p class="text-xs sm:text-xs text-gray-500 dark:text-gray-400 mt-2">as of <span id="epoch">just now</span></p>
          </div>
          <p class="text-sm sm:text-base text-gray-600 dark:text-gray-300">All schools and offices are open on time. Before and After school childcare programs and Community Use occur as scheduled</p>
        </div>
        <div class="text-center mt-4">
          
          <p class="text-xs text-gray-500 dark:text-gray-300 dark:font-bold">School is operating normally</p>
        </div>
      </div>
    </div>

    <footer id="canvas" class="fixed inset-x-0 bottom-0 bg-white dark:bg-gray-700">
      <div class="p-4 text-center text-gray-600 dark:text-gray-300">
        <p class="text-xs sm:text-sm" style="margin-bottom:1.5vh;">© 2024 MCPSMD.app. All Rights Reserved.</p>
        <!--<i class="custom-icon text-green-700 dark:text-green-300">&#xF06C;</i>
        <span class="ml-2 text-green-700 dark:text-green-300"><span>Net-zero carbon</span></span> | -->Made with pride in the USA— keeping America great
        <br>

        <p class="text-xs sm:text-sm" style="margin-top:1.5vh;">
          <a href="/terms" class="underline">Terms of Service</a> |
          <a href="/privacy" class="underline">Privacy Policy</a>
        </p>
      </div>
    </footer>
  <script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'8d7154ac8b952fa1',t:'MTcyOTY4MjM1Mi4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script><iframe height="1" width="1" style="position: absolute; top: 0px; left: 0px; border: none; visibility: hidden;"></iframe>
  <script type="text/javascript">
    const time = document.getElementById('epoch').textContent;

    function epochToText(epoch) {
      const epochNow = new Date().getTime() / 1000;
      if (Number.isInteger(epochNow) && Number.isInteger(epoch) && epoch < epochNow && epoch > 0 && ) {
        const diff = epochNow - epoch;
        if (diff < 60) {
          return 'just now';
        } else if (diff < 3600) {
          return `${Math.floor(diff / 60)} minutes ago`;
        } else if (diff < 86400) {
          return `${Math.floor(diff / 3600)} hours ago`;
        } else {
          return `${Math.floor(diff / 86400)} days ago`;
        }
      } else {
        return 'unknown';
      }
    }
  </script>
</body></html>