It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: http://jobs.segd.org/rss/feed.xml

  1. <!DOCTYPE html>
  2. <html lang="en">
  3.    <head>
  4.      <!-- Google Tag Manager -->
  5.      <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  6.      new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  7.      j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  8.      'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  9.      })(window,document,'script','dataLayer','GTM-NFM95BJ');</script>
  10.      <!-- End Google Tag Manager -->
  11.        <base href="https://jobs.segd.org/">        <title>Page not found | SEGD Job Bank</title>
  12.  
  13.        <meta name="description" content="Career website">
  14.  
  15.        <meta charset="UTF-8">
  16.        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5" >
  17.        <meta name="mobile-web-app-capable" content="yes">
  18.        <meta http-equiv="X-UA-Compatible" content="IE=edge">
  19.  
  20.        <meta content="0DQf8yvzEdr62mzJkluxSwS5Ekk3rkh62Z2VilTy" name="csrf-token">
  21.  
  22.                <meta content="index,follow" name="robots">
  23.        
  24.        
  25.        <script>
  26.    function loadScripts(source, callback) {
  27.        if (!(source != null && (typeof source == 'string' || typeof source == 'object'))) return;
  28.        let src = typeof source == 'string' ? [source] : source;
  29.        let total = [];
  30.        let loaded = [];
  31.        let failed = [];
  32.        let fn = function (e) {
  33.            if (e.type == 'load') loaded.push(e.target.src);
  34.            else failed.push(e.target.src);
  35.            if ((loaded.length + failed.length) == total.length && typeof callback == 'function') callback(!!failed.length, loaded, failed);
  36.        };
  37.        let load = function (src) {
  38.            let s = document.createElement('script');
  39.            s.type = 'application/javascript';
  40.            s.src = src;
  41.            s.addEventListener('error', fn, false);
  42.            s.addEventListener('load', fn, false);
  43.            document.getElementsByTagName('head')[0].appendChild(s);
  44.            return s.src;
  45.        };
  46.        for (let i in src) {
  47.            let s = src[i].split(/[\s,]+/);
  48.            for (let j in s) if (total.indexOf(s[j]) < 0) total.push(load(s[j]));
  49.        }
  50.    }
  51.  
  52.    function loadStyles(source, callback) {
  53.        if (!(source != null && (typeof source == 'string' || typeof source == 'object'))) return;
  54.        let src = typeof source == 'string' ? [source] : source;
  55.        let total = [];
  56.        let loaded = [];
  57.        let failed = [];
  58.        let fn = function (e) {
  59.            if (e.type == 'load') loaded.push(e.target.src);
  60.            else failed.push(e.target.src);
  61.            if ((loaded.length + failed.length) == total.length && typeof callback == 'function') callback(!!failed.length, loaded, failed);
  62.        };
  63.        let load = function (src) {
  64.            let s = document.createElement('link');
  65.            s.rel = 'stylesheet';
  66.            s.href = src;
  67.            s.addEventListener('error', fn, false);
  68.            s.addEventListener('load', fn, false);
  69.            document.getElementsByTagName('head')[0].appendChild(s);
  70.            return s.src;
  71.        };
  72.        for (let i in src) {
  73.            let s = src[i].split(/[\s,]+/);
  74.            for (let j in s) if (total.indexOf(s[j]) < 0) total.push(load(s[j]));
  75.        }
  76.    }
  77.  
  78.    function trackEvent(url, data, method = 'GET') {
  79.        $.ajax({
  80.            url: url,
  81.            method: method,
  82.            data: data || {},
  83.            async: true,
  84.            cache: false,
  85.            headers: {
  86.                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
  87.            },
  88.            success: (response) => {
  89.                let trackingCode = response.code || '';
  90.                $('body').append(trackingCode)
  91.            },
  92.        });
  93.    }
  94.  
  95.    function triggerEvent(name, element = document) {
  96.        if(!name) return;
  97.        const event = new Event(name);
  98.        element.dispatchEvent(event);
  99.    }
  100.  
  101.    if (typeof grecaptcha === 'undefined') {
  102.        grecaptcha = {};
  103.    }
  104.  
  105.    grecaptcha.alreadyLoaded = []
  106.    grecaptcha.loadFromCDN = function(url, params) {
  107.        if (! this.alreadyLoaded.includes(url)) {
  108.            this.alreadyLoaded.push(url);
  109.  
  110.            let script = document.createElement('script');
  111.            script.setAttribute('type', 'text/javascript');
  112.            script.setAttribute('src', url);
  113.            for (let i in params) {
  114.                script.setAttribute(params[i], '');
  115.            }
  116.  
  117.            document.body.appendChild(script);
  118.        }
  119.    }
  120.  
  121.    grecaptcha.ready = function(cb){
  122.        if (typeof grecaptcha === 'object' && typeof grecaptcha.execute === 'undefined') {
  123.            const c = '___grecaptcha_cfg';
  124.            window[c] = window[c] || {};
  125.            (window[c]['fns'] = window[c]['fns']||[]).push(cb);
  126.        } else {
  127.            setTimeout(function() {
  128.                cb();
  129.            }, 1000)
  130.        }
  131.    }
  132. </script>
  133.                    <!--link rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'" href="https://use.fontawesome.com/releases/v5.15.3/css/all.css"-->
  134.            <link rel="stylesheet" href="/themes/segd_ng/css/style.css?1756381906">
  135.        
  136.                    <script src="/themes/nextgen/js/jquery.min.js?1750753629"></script>
  137.            <script src="/themes/nextgen/js/bootstrap.min.js?1750753629"></script>
  138.            <script src="/themes/nextgen/js/plugins.js?1750753629"></script>
  139.            <script src="/js/common.min.js"></script>
  140.            <script>
  141.                $(function() {
  142.                    triggerEvent('jqueryReady');
  143.                    triggerEvent('bootstrapReady');
  144.                    triggerEvent('commonReady');
  145.                })
  146.            </script>
  147.        
  148.        <link href="/themes/segd_ng/css/theme_style.css?1718264036" rel="stylesheet">
  149. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css">
  150. <link type="text/css" rel="stylesheet" href="//fonts.googleapis.com/css?family=Ubuntu:300" media="all">
  151.        
  152.        <meta property="og:type" content="website">
  153.        <meta property="og:site_name" content="Society for Experiential Graphic Design">
  154.  
  155.                    <meta property="og:title" content="Page not found | SEGD Job Bank">
  156.            <meta property="og:description" content="Career website">
  157.            <meta property="og:image" content="https://jobs.segd.org/themes/segd_ng/images/logo.png">
  158.            <meta property="og:url" content="https://jobs.segd.org/rss/feed.xml">
  159.        
  160.        <!-- Hotjar Tracking Code for http://jobs.segd.org -->
  161.        <script>
  162.            (function(h,o,t,j,a,r){
  163.                h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
  164.                h._hjSettings={hjid:488941,hjsv:5};
  165.                a=o.getElementsByTagName('head')[0];
  166.                r=o.createElement('script');r.async=1;
  167.                r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
  168.                a.appendChild(r);
  169.            })(window,document,'//static.hotjar.com/c/hotjar-','.js?sv=');
  170.        </script>
  171.  
  172.        <script>
  173.            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  174.                (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  175.                m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  176.            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
  177.  
  178.            ga('create', 'UA-70037861-2', 'auto');
  179.            ga('send', 'pageview');
  180.  
  181.        </script>
  182.  
  183.        <script>
  184.            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  185.                (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  186.                m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  187.            })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
  188.  
  189.            ga('create', 'UA-100448085-1', 'auto');
  190.            ga('send', 'pageview');
  191.  
  192.        </script>
  193.  
  194.        <script type="text/javascript">
  195.            var trackcmp_email = '';
  196.            var trackcmp = document.createElement("script");
  197.            trackcmp.async = true;
  198.            trackcmp.type = 'text/javascript';
  199.            trackcmp.src = '//trackcmp.net/visit?actid=25263710&e='+encodeURIComponent(trackcmp_email)+'&r='+encodeURIComponent(document.referrer)+'&u='+encodeURIComponent(window.location.href);
  200.            var trackcmp_s = document.getElementsByTagName("script");
  201.            if (trackcmp_s.length) {
  202.                trackcmp_s[0].parentNode.appendChild(trackcmp);
  203.            } else {
  204.                var trackcmp_h = document.getElementsByTagName("head");
  205.                trackcmp_h.length && trackcmp_h[0].appendChild(trackcmp);
  206.            }
  207.        </script>
  208.    </head>
  209.    <body>
  210.  
  211.    <!-- Google Tag Manager (noscript) -->
  212.    <noscript>
  213.        <iframe
  214.            title="Google Tag Manager"
  215.            src="https://www.googletagmanager.com/ns.html?id=GTM-NFM95BJ"
  216.            height="0"
  217.            width="0"
  218.            style="display:none;visibility:hidden">
  219.        </iframe>
  220.    </noscript>
  221.    <!-- End Google Tag Manager (noscript) -->
  222.    <!--Start top and Logo-->
  223.  
  224.    <div id="banner-header-wide-1"></div>
  225.  
  226.  
  227. <div class="container">
  228.    <div class="d-flex flex-wrap justify-content-between align-items-center desktop-header">
  229.        <a target="_blank" href="https://segd.org/"><img width="250" src="/themes/segd_ng/images/new-header-logo.png?1718264036"/></a>
  230.        <div>
  231.            <ul class="d-flex flex-wrap justify-content-end">
  232.                <li><a href="https://segd.org/join/" target="_blank">Join Us</a></li>
  233.                <li><a href="https://segd.org/expert-directory/" target="_blank">Expert Directory</a></li>
  234.                <li><a href="https://segd.glueup.com/my/home/" target="_blank">Login</a></li>
  235.            </ul>
  236.            <ul class="d-flex flex-wrap justify-content-end other-links">
  237.                <li><a href="https://segd.org/projects/" target="_blank">Projects</a></li>
  238.                <li><a href="https://segd.org/resources-education/" target="_blank">Resources + Education</a></li>
  239.                <li><a href="https://segd.org/awards/" target="_blank">Awards</a></li>
  240.                <li><a href="https://segd.org/conference-events/" target="_blank">Events</a></li>
  241.                <li><a href="https://segd.org/about/" target="_blank">About</a></li>
  242.                <li><a href="https://segd.org/community/" target="_blank">Community</a></li>
  243.                <li><a href="https://segd.org/" target="_blank"><i class="fas fa-search"></i></a></li>
  244.            </ul>
  245.  
  246.        </div>
  247.  
  248.    </div>
  249.    <div class="custom-header-navbar mobile-header mt-1">
  250.        <a target="_blank" href="https://segd.org/"><img width="250" src="/themes/segd_ng/images/new-header-logo.png?1718264036"/></a>
  251.            <nav class="navbar">
  252.                <div class="navbar-header custom-header-menu-btn">
  253.                    <button
  254.                        type="button"
  255.                        class="navbar-toggle collapsed"
  256.                        data-toggle="collapse"
  257.                        data-target="#navbar"
  258.                        aria-expanded="false"
  259.                        aria-controls="navbar"
  260.                    >
  261.                        <span class="icon-bar"></span>
  262.                        <span class="icon-bar"></span>
  263.                        <span class="icon-bar"></span>
  264.                    </button>
  265.                </div>
  266.                <div id="navbar" class="navbar-collapse collapse">
  267.                    <ul class="nav navbar-nav custom-header-menu-list">
  268.                        <li><a href="https://segd.org/join/" target="_blank">Join Us</a></li>
  269.                        <li><a href="https://segd.org/expert-directory/" target="_blank">Expert Directory</a></li>
  270.                        <li><a href="https://segd.glueup.com/my/home/" target="_blank">Login</a></li>
  271.                        <li><a href="https://segd.org/projects/" target="_blank">Projects</a></li>
  272.                        <li><a href="https://segd.org/resources-education/" target="_blank">Resources + Education</a></li>
  273.                        <li><a href="https://segd.org/awards/" target="_blank">Awards</a></li>
  274.                        <li><a href="https://segd.org/conference-events/" target="_blank">Events</a></li>
  275.                        <li><a href="https://segd.org/about/" target="_blank">About</a></li>
  276.                        <li><a href="https://segd.org/community/" target="_blank">Community</a></li>
  277.                        <li><a href="https://segd.org/" target="_blank"><i class="fas fa-search"></i></a></li>
  278.                    </ul>
  279.                </div>
  280.            </nav>
  281.    </div>
  282. </div>
  283.  
  284. <header id="ws-header">
  285.    <nav class="navbar navbar-inverse bg-dark">
  286.        <div class="container">
  287.            <div class="navbar-header">
  288.                <button
  289.                    type="button"
  290.                    class="navbar-toggle collapsed"
  291.                    data-toggle="collapse"
  292.                    data-target="#header-navbar"
  293.                    aria-expanded="false"
  294.                    aria-controls="navbar"
  295.                    aria-label="Toggle mobile navigation"
  296.                >
  297.                    <span class="icon-bar"></span>
  298.                    <span class="icon-bar"></span>
  299.                    <span class="icon-bar"></span>
  300.                </button>
  301.                            </div>
  302.  
  303.            <div
  304.                class="collapse navbar-collapse guest-menu"
  305.                id="header-navbar"
  306.            >
  307.                
  308. <div class="pull-left flex-sm-container clearfix">
  309.                                        <ul class="nav navbar-nav guest-menu">
  310.                                        <li id="menu-item-2959" class="current">
  311.                                    <a href="/"
  312.                        ex-data                                            >
  313.                                            Home                                        </a>
  314.                            </li>
  315.                                                        <li id="menu-item-2961" class="">
  316.                                    <a href="/jobs"
  317.                                                                    >
  318.                                            Search                                        </a>
  319.                            </li>
  320.                                                        <li id="menu-item-2964" class="">
  321.                                    <a href="/employer-directory"
  322.                                                                    >
  323.                                            Directory                                        </a>
  324.                            </li>
  325.                                                        <li id="menu-item-2967" class="">
  326.                                    <a href="/contact-us"
  327.                                                                    >
  328.                                            Contact Us                                        </a>
  329.                            </li>
  330.                                                                </ul>
  331.                                        <p class="navbar-btn pull-left">
  332.                <a href="/employer-offers"
  333.                    class="btn btn-primary pricing-btn"                                    >
  334.                    Pricing                </a>
  335.            </p>
  336.                        </div>
  337.  
  338.                
  339. <nav class="nav navbar-right flex-sm-container">
  340.    <ul class="nav navbar-nav mx-0">
  341.        <li class="register-top">
  342.            <a href="#" class="dropdown-toggle" data-toggle="dropdown">
  343.                Register                <span class="caret"></span>
  344.            </a>
  345.            <ul class="dropdown-menu reg-choose">
  346.                <li><a href="/register-seeker">
  347.                        Job Seekers                    </a></li>
  348.                                <li><a href="/register-employer">
  349.                        Employers                    </a></li>
  350.                            </ul>
  351.        </li>
  352.        <li>
  353.            <a class="sign-in" href="/sign-in">
  354.                <i class="fas fa-lock"></i>
  355.                Sign In            </a>
  356.        </li>
  357.        
  358. <script>
  359.    var scriptsLanguage = 'EN';
  360. </script>
  361.  
  362.    </ul>
  363.    <p class="navbar-btn pull-left">
  364.        <a class="btn btn-primary post-job" href="/employer-offers">
  365.            Post a Job        </a>
  366.    </p>
  367. </nav>
  368.  
  369. <script>
  370.    document.addEventListener('jqueryReady', function () {
  371.        let $headerNavbar = $('#header-navbar'),
  372.            $userDropdown = $headerNavbar.find('.user-dropdown'),
  373.            $submenu = $userDropdown.find('.submenu');
  374.  
  375.  
  376.        $submenu.on('click', function (event) {
  377.            event.stopPropagation();
  378.  
  379.            let $this = $(this);
  380.            $thisMenu = $this.find('ul.menu'),
  381.                $otherMenus = $submenu.find('ul.menu');
  382.  
  383.  
  384.  
  385.            if ($thisMenu.hasClass('open')) {
  386.                $thisMenu.removeClass('open')
  387.            } else {
  388.                $otherMenus.removeClass('open')
  389.                $thisMenu.addClass('open')
  390.            }
  391.        })
  392.  
  393.    });
  394. </script>
  395.  
  396.            </div>
  397.        </div>
  398.    </nav>
  399. </header>
  400.  
  401. <div class="container view-404">
  402.    <div class="row">
  403.        <div class="col-md-6 col-md-offset-3 col-sm-12 col-sm-offset-0 text-center">
  404.            <div class="page-header">
  405.                <h1>Not found</h1>
  406.            </div>
  407.            <p>The requested URL was not found on this server.</p>
  408.            <p>If you need assistance you can</p>
  409.            <p>
  410.                <a href="/" class="btn btn-primary"><i class="glyphicon glyphicon-home"></i>  visit our home page</a>
  411.                <a href="/contact-us" class="btn btn-default"><i class="glyphicon glyphicon-envelope"></i>  contact us</a>
  412.            </p>
  413.        </div>
  414.    </div>
  415. </div>
  416.    <div id="banner-footer-wide-top-1"></div>
  417.  
  418.  
  419. <div class="ws-footer" id="ws-footer">
  420.    <div class="bg-darken footer index mt-2 py-2">
  421.        <div class="container">
  422.                        <div class="row">
  423.                <div class="col-md-12">
  424.                    <a href="https://jobs.segd.org/browse-jobs" class="title d-block text-white text-bold my-1">
  425.                        Find Jobs By Category                    </a>
  426.                </div>
  427.            </div>
  428.            <div class="row">
  429.                                        <div class="col-md-3 col-sm-6">
  430.                        <ul class="list list-unstyled">
  431.                                                                                            <li class="list-item">
  432.                                    <a href="c-environmental-graphic-design-jobs.html" class="text-white">
  433.                                        Environmental Graphic Design                                    </a>
  434.                                </li>
  435.                                                    </ul>
  436.                    </div>
  437.                </div>
  438.            
  439.            <div class="row">
  440.                <div class="col-md-12 text-center text-white copyrights">
  441.                    <p>Powered by <a href="https://www.webscribble.com" target="_blank" class="underline text-white">Web Scribble Solutions</a>, Inc.</p>
  442.                </div>
  443.            </div>
  444.        </div>
  445.    </div>
  446. </div>
  447.  
  448. <footer id="ws-custom-footer">
  449.    <div class="custom-footer">
  450.    <div class="container">
  451.        <div class="d-flex justify-content-between align-items-center flex-wrap">
  452.            <a target="_blank" href="https://segd.org/"><img width="250" src="/themes/segd_ng/images/footer-logo-new.png?1718802947"/></a>
  453.            <a href="https://docs.google.com/forms/d/1rdr82btqqXi7K7sCyS3WM98LzCzjgacHNPW1mVM12sQ/edit" target="_blank"><h4>Experience design in your inbox.<br> Subscribe to our newsletter <i class="fas fa-arrow-right"></i></h4></a>
  454.        </div>
  455.        <ul class="py-2">
  456.            <li><a href="https://segd.org/contact-us/" target="_blank">Contact Us</a></li>
  457.            <li class="mt-1"><a href="https://segd.org/news/" target="_blank">News</a></li>
  458.            <li class="mt-1"><a href="https://segd.org/about/" target="_blank">About Us</a></li>
  459.            <li class="mt-1"><a href="https://segd.org/community/partner-with-us/" target="_blank">Partnerships</a></li>
  460.        </ul>
  461.        <div class="d-flex flex-wrap justify-content-between">
  462.            <ul class="d-flex custom-social">
  463.                <li><a href="https://twitter.com/segd" target="_blank"><i class="fab fa-twitter"></i></a></li>
  464.                <li><a href="https://www.facebook.com/SEGDcommunity" target="_blank"><i class="fab fa-facebook-f"></i></a></li>
  465.                <li><a href="https://www.instagram.com/segddesign/" target="_blank"><i class="fab fa-instagram"></i></a></li>
  466.                <li><a href="https://vimeo.com/segd/videos" target="_blank"><i class="fab fa-vimeo-v"></i></a></li>
  467.                <li><a href="https://www.pinterest.com/segdpin/" target="_blank"><i class="fab fa-pinterest"></i></a></li>
  468.                <li><a href="https://www.linkedin.com/company/segd/" target="_blank"><i class="fab fa-linkedin-in"></i></a></li>
  469.            </ul>
  470.            <div class="custom-copyright">
  471.                <p>&copy; SEGD-Society for Experiential Graphic Design-2025 501(c)(3) not-for-profit education organization.</p>
  472.                <p><a href="https://segd.org/terms-and-conditions/" target="_blank">Terms and Conditions</a></p>
  473.            </div>
  474.        </div>
  475.    </div>
  476. </div>
  477. </footer>
  478.  
  479.  
  480. <script defer src="/themes/nextgen/js/main.min.js?1750753629"></script>
  481.  
  482. <!-- NG-3557 -->
  483.  
  484. <!-- NG-3557 -->
  485.  
  486.  
  487.  
  488. <script>
  489.    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  490.            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  491.        m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  492.    })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
  493.  
  494.    ga('create', 'UA-70037861-2', 'auto');
  495.    ga('send', 'pageview');
  496.  
  497. </script>
  498.  
  499.  
  500. <script>
  501.  
  502. </script>
  503.  
  504.  
  505.  
  506.  
  507.  
  508. <div id="alert-popus-container" class="sticky-alert-container position-fixed fixed-bottom">
  509.    <div class="container-fluid">
  510.        <div class="row">
  511.                        <div id="cookieconsent-wrapper"></div>
  512.        </div>
  513.    </div>
  514. </div>
  515.  
  516. <script>
  517.    window.FontAwesomeConfig = {
  518.        autoReplaceSvg: "nest",
  519.        autoA11y: true,
  520.        autoAddCss: true,
  521.        keepOriginalSource: false
  522.    }
  523. </script>
  524. <script async src="https://use.fontawesome.com/releases/v5.15.3/js/all.js"></script>
  525.  
  526.  
  527. <script>
  528.    const templates = document.querySelectorAll('template');
  529.  
  530.    function processTemplate(element) {
  531.        const parents = document.querySelectorAll(element.dataset.parent);
  532.        const position = element.dataset.position ? element.dataset.position : 'afterend';
  533.  
  534.        parents.forEach(function(parent){
  535.            if(position === 'instead'){
  536.                parent.outerHTML = element.innerHTML;
  537.            }else{
  538.                parent.insertAdjacentHTML(position, element.innerHTML);
  539.            }
  540.        });
  541.  
  542.        if ( typeof element.dataset.cleanup === 'undefined' || element.dataset.cleanup === true || element.dataset.cleanup === 'true' ) {
  543.            element.remove();
  544.        }
  545.    }
  546.  
  547.    function addXMLRequestCallback(callback){
  548.        let nativeOpen = XMLHttpRequest.prototype.open;
  549.        let callbacks = XMLHttpRequest.callbacks = [];
  550.        XMLHttpRequest.prototype.open = function () {
  551.            callbacks.forEach(callback => callback.apply(this, arguments));
  552.            nativeOpen.apply(this, arguments);
  553.        };
  554.  
  555.        XMLHttpRequest.callbacks.push(callback);
  556.    }
  557.  
  558.    templates.forEach(function(element){
  559.        if ( !element.dataset.parent ) {
  560.            return false;
  561.        }
  562.  
  563.        if ( !element.dataset.trigger || element.dataset.trigger === 'instant' ) {
  564.            setTimeout(()=>{ processTemplate(element) }, element.dataset.delay ? element.dataset.delay : 0 );
  565.        } else if ( element.dataset.trigger === 'event' ) {
  566.            if ( !element.dataset.event ){
  567.                return false;
  568.            }
  569.            document.addEventListener( element.dataset.event, () => {
  570.                setTimeout(()=>{ processTemplate(element) }, element.dataset.delay ? element.dataset.delay : 0 );
  571.            });
  572.        } else if ( element.dataset.trigger === 'xhr' ) {
  573.            addXMLRequestCallback( function( method, url ) {
  574.                if ( element.dataset.url || element.dataset.method ) {
  575.                    if ( element.dataset.url && element.dataset.method ) {
  576.                        if ( element.dataset.method === method && url.toString().includes(element.dataset.url) ) {
  577.                            setTimeout(()=>{ processTemplate(element) }, element.dataset.delay ? element.dataset.delay : 0 );
  578.                        }
  579.                    } else if ( element.dataset.url && url.includes(element.dataset.url) ) {
  580.                        setTimeout(()=>{ processTemplate(element) }, element.dataset.delay ? element.dataset.delay : 0 );
  581.                    } else if ( element.dataset.method && element.dataset.method === method ){
  582.                        setTimeout(()=>{ processTemplate(element) }, element.dataset.delay ? element.dataset.delay : 0 );
  583.                    }
  584.                } else {
  585.                    setTimeout(()=>{ processTemplate(element) }, element.dataset.delay ? element.dataset.delay : 0 );
  586.                }
  587.            });
  588.        }
  589.    });
  590. </script>
  591. <link rel="stylesheet" href="/themes/nextgen/css/configuration.css?1750753629">
  592.  
  593. </body>
  594. </html>
  595.  
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda