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: https://dribbble.com/gembling/about

  1. <!DOCTYPE html>
  2. <html lang="en">
  3.  <head>
  4.    <meta charset="utf-8" />
  5.    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  6.    <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">
  7.    <title>Sorry, the page you were looking for doesn't exist. (404)</title>
  8.    <style>html,body{margin:0;padding:0;width:100%;height:100%}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}h1,h2,h3{color:#333}h1{font-size:2rem;margin:1rem 0;line-height:1}p{margin:1rem 0;line-height:1.3}main p{max-width:26em;margin:1rem auto}nav{padding:1rem}footer{padding:1rem}.sep{opacity:0.5;text-transform:uppercase;font-weight:bold;font-size:0.75em;letter-spacing:0.1em}.link{color:#ea4c89;font-weight:bold}input[type="search"]{background-color:#F1F3F4;font-size:0.875rem;padding:0.5em 1em;padding-right:0.75em;border-radius:1.25em;border:0;width:20em;transition:all 0.1s ease-in-out;box-shadow:0 0 0 0 transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type="search"]:hover{background-color:#e3e7e9}input[type="search"]:focus{outline:0;box-shadow:0 0 0 0.15em #ea64d9;background-color:#fff}input[type="search"]::-webkit-input-placeholder{color:rgba(0,0,0,0.35)}input[type="search"] ::-moz-placeholder{color:rgba(0,0,0,0.35)}input[type="search"] :-ms-input-placeholder{color:rgba(0,0,0,0.35)}input[type="search"] :-moz-placeholder{color:rgba(0,0,0,0.35)}.input{position:relative;display:-ms-inline-flexbox;display:inline-flex}.input-icon{position:absolute;left:0.5rem;top:50%;opacity:0.3;pointer-events:none;transform:translateY(-50%)}.input-icon+input{padding-left:2rem}body{font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:16px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-direction:column;flex-direction:column;padding:1rem;color:rgba(0,0,0,0.4);text-align:center;transition:background-color 1s linear}a{color:inherit;transition:all 0.1s ease-in}a:hover{color:rgba(0,0,0,0.8)}.color-range{position:relative;z-index:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:66%;max-width:320px;display:block;outline:none;margin:0 auto;height:4em;font-size:12px;transition:color 0.05s linear, -webkit-filter 0.5s ease-in-out;transition:color 0.05s linear, filter 0.5s ease-in-out;transition:color 0.05s linear, filter 0.5s ease-in-out, -webkit-filter 0.5s ease-in-out}.color-range:focus{outline:none}.color-range:active,.color-range:hover:active{cursor:grabbing;cursor:-webkit-grabbing}.color-range::-webkit-slider-runnable-track{-webkit-appearance:none;appearance:none;outline:none !important;background-color:rgba(0,0,0,0.1);border-radius:0.5em;height:0.5em;background:linear-gradient(to right, red, #ff0, lime, cyan, blue, #f0f, red)}.color-range::-moz-range-track{-moz-appearance:none;appearance:none;outline:none !important;background-color:rgba(0,0,0,0.1);border-radius:0.5em;height:0.5em;background:linear-gradient(to right, red, #ff0, lime, cyan, blue, #f0f, red)}.color-range::-ms-track{outline:none !important;appearance:none;background-color:rgba(0,0,0,0.1);border-radius:0.5em;height:0.5em;background:linear-gradient(to right, red, #ff0, lime, cyan, blue, #f0f, red)}.color-range:disabled{-webkit-filter:grayscale(100) opacity(0.25);filter:grayscale(100) opacity(0.25);pointer-events:none}.color-range::-webkit-slider-thumb{height:3em;width:3em;margin-top:-1.2em;border-radius:2em;-webkit-appearance:none;appearance:none;background:white;border:0.4em solid currentColor;cursor:pointer;cursor:move;cursor:grab;cursor:-webkit-grab;transition:box-shadow 0.2s ease-in-out, transform 0.1s ease-in-out;box-shadow:0 0.1em 0.1em rgba(0,0,0,0.05)}.color-range::-webkit-slider-thumb:active,.color-range::-webkit-slider-thumb:hover:active{cursor:grabbing;cursor:-webkit-grabbing;transform:scale(0.975);box-shadow:0 0 1px rgba(0,0,0,0.1);border:1.5em solid currentColor}.color-range::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 0.4em 1em rgba(0,0,0,0.15)}.color-range::-moz-range-thumb{height:3em;width:3em;margin-top:-1.2em;border-radius:2em;-moz-appearance:none;appearance:none;background:white;box-sizing:border-box;border:0.4em solid currentColor;cursor:pointer;cursor:move;cursor:grab;cursor:-webkit-grab;transition:box-shadow 0.2s ease-in-out, transform 0.1s ease-in-out;box-shadow:0 0.1em 0.1em rgba(0,0,0,0.05)}.color-range::-moz-range-thumb:active,.color-range::-moz-range-thumb:hover:active{cursor:grabbing;box-sizing:border-box;cursor:-webkit-grabbing;transform:none;box-shadow:0 0 1px rgba(0,0,0,0.1);border:0.4em solid currentColor}.color-range::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 0.4em 1em rgba(0,0,0,0.15)}.color-range::-ms-thumb{height:2.4em;width:2.4em;margin-top:0;border-radius:2em;appearance:none;background:white;border:0.4em solid currentColor;cursor:pointer;cursor:move;cursor:grab;cursor:-webkit-grab;transition:box-shadow 0.2s ease-in-out, transform 0.1s ease-in-out;box-shadow:0 0.1em 0.1em rgba(0,0,0,0.05)}.color-range::-ms-thumb:active,.color-range::-ms-thumb:hover:active{cursor:grabbing;cursor:-webkit-grabbing;transform:none;box-shadow:0 0 1px rgba(0,0,0,0.1);border:0.4em solid currentColor}.color-range::-ms-thumb:hover{transform:scale(1.1);box-shadow:0 0.4em 1em rgba(0,0,0,0.15)}.message-404{position:relative;z-index:1}.collage-404{position:relative;-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:500px;display:inline-block;margin:2vw 0}.collage-404 h1{font-size:30vw;margin:0;line-height:1;padding:0;display:inline-block;transition:all 1s ease-in-out;opacity:0.1}html.loaded .collage-404 h1{opacity:0}html.loading .collage-404>div{opacity:0}.collage-404-images{position:absolute;left:0;right:0;top:0;bottom:0}.collage-404 a{position:absolute;width:5vw;width:7%;display:block;border-radius:0.25rem;transition:all 1s ease-in-out;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.collage-404 a img{transition:all 0.2s ease-in-out}.collage-404 a:hover{z-index:1}.collage-404 a:hover img{transform:scale(1.5) !important;box-shadow:0 5px 30px rgba(0,0,0,0.3)}.collage-404 a.loaded img{opacity:1;-webkit-filter:grayscale(0);filter:grayscale(0)}.collage-404 a.introduced{transition:all 0.1s ease-in-out}.collage-404 a:nth-child(1){left:19%;top:18%}.collage-404 a:nth-child(2){left:15%;top:25%}.collage-404 a:nth-child(3){left:12%;top:32%}.collage-404 a:nth-child(4){left:8%;top:39%}.collage-404 a:nth-child(5){left:4%;top:47%}.collage-404 a:nth-child(6){left:1%;top:55%}.collage-404 a:nth-child(7){left:-2%;top:62%}.collage-404 a:nth-child(8){left:5%;top:62%}.collage-404 a:nth-child(9){left:12%;top:62%}.collage-404 a:nth-child(10){left:19%;top:62%}.collage-404 a:nth-child(11){left:25.5%;top:62%}.collage-404 a:nth-child(12){left:19%;top:27%}.collage-404 a:nth-child(13){left:19%;top:35.5%}.collage-404 a:nth-child(14){left:19%;top:43.5%}.collage-404 a:nth-child(15){left:19%;top:53%}.collage-404 a:nth-child(16){left:19%;top:70%}.collage-404 a:nth-child(17){left:19%;top:79%}.collage-404 a:nth-child(18){left:41%;top:20%}.collage-404 a:nth-child(19){left:38%;top:26%}.collage-404 a:nth-child(20){left:36%;top:34%}.collage-404 a:nth-child(21){left:35%;top:43%}.collage-404 a:nth-child(22){left:35%;top:52%}.collage-404 a:nth-child(23){left:35.5%;top:61%}.collage-404 a:nth-child(24){left:37%;top:69%}.collage-404 a:nth-child(25){left:41%;top:76%}.collage-404 a:nth-child(26){left:47%;top:79%}.collage-404 a:nth-child(27){left:52%;top:76%}.collage-404 a:nth-child(28){left:55.5%;top:69%}.collage-404 a:nth-child(29){left:57%;top:61%}.collage-404 a:nth-child(30){left:58%;top:52%}.collage-404 a:nth-child(31){left:58%;top:43%}.collage-404 a:nth-child(32){left:57%;top:34%}.collage-404 a:nth-child(33){left:55%;top:26%}.collage-404 a:nth-child(34){left:52%;top:20%}.collage-404 a:nth-child(35){left:47%;top:18%}.collage-404 a:nth-child(36){left:88%;top:18%}.collage-404 a:nth-child(37){left:84%;top:25%}.collage-404 a:nth-child(38){left:81%;top:32%}.collage-404 a:nth-child(39){left:77%;top:39%}.collage-404 a:nth-child(40){left:73%;top:47%}.collage-404 a:nth-child(41){left:70%;top:55%}.collage-404 a:nth-child(42){left:67%;top:62%}.collage-404 a:nth-child(43){left:74%;top:62%}.collage-404 a:nth-child(44){left:81%;top:62%}.collage-404 a:nth-child(45){left:88%;top:62%}.collage-404 a:nth-child(46){left:94.5%;top:62%}.collage-404 a:nth-child(47){left:88%;top:27%}.collage-404 a:nth-child(48){left:88%;top:35.5%}.collage-404 a:nth-child(49){left:88%;top:43.5%}.collage-404 a:nth-child(50){left:88%;top:53%}.collage-404 a:nth-child(51){left:88%;top:70%}.collage-404 a:nth-child(52){left:88%;top:79%}.collage-404 img{width:100%;height:auto;border-radius:0.25rem;opacity:0;display:block;-webkit-filter:grayscale(100);filter:grayscale(100);transition:all 2s ease-in-out}.collage-404.arkanoid h1{line-height:0}.collage-404.arkanoid h1 svg{opacity:1;width:40vw;height:auto}.collage-404.arkanoid a{width:9.1%;height:12.5%;margin:0}.collage-404.arkanoid a img{width:100%;height:auto;display:block}.collage-404.arkanoid a:nth-child(1){left:0%;top:50%}.collage-404.arkanoid a:nth-child(2){left:0%;top:62.5%}.collage-404.arkanoid a:nth-child(3){left:0%;top:75%}.collage-404.arkanoid a:nth-child(4){left:9.1%;top:37.5%}.collage-404.arkanoid a:nth-child(5){left:9.1%;top:50%}.collage-404.arkanoid a:nth-child(6){left:18.2%;top:0%}.collage-404.arkanoid a:nth-child(7){left:18.2%;top:25%}.collage-404.arkanoid a:nth-child(8){left:18.2%;top:37.5%}.collage-404.arkanoid a:nth-child(9){left:18.2%;top:50%}.collage-404.arkanoid a:nth-child(10){left:18.2%;top:62.5%}.collage-404.arkanoid a:nth-child(11){left:18.2%;top:75%}.collage-404.arkanoid a:nth-child(12){left:27.3%;top:12.5%}.collage-404.arkanoid a:nth-child(13){left:27.3%;top:25%}.collage-404.arkanoid a:nth-child(14){left:27.3%;top:50%}.collage-404.arkanoid a:nth-child(15){left:27.3%;top:62.5%}.collage-404.arkanoid a:nth-child(16){left:27.3%;top:87.5%}.collage-404.arkanoid a:nth-child(17){left:36.4%;top:25%}.collage-404.arkanoid a:nth-child(18){left:36.4%;top:37.5%}.collage-404.arkanoid a:nth-child(19){left:36.4%;top:50%}.collage-404.arkanoid a:nth-child(20){left:36.4%;top:62.5%}.collage-404.arkanoid a:nth-child(21){left:36.4%;top:87.5%}.collage-404.arkanoid a:nth-child(22){left:45.5%;top:25%}.collage-404.arkanoid a:nth-child(23){left:45.5%;top:37.5%}.collage-404.arkanoid a:nth-child(24){left:45.5%;top:50%}.collage-404.arkanoid a:nth-child(25){left:45.5%;top:62.5%}.collage-404.arkanoid a:nth-child(26){left:54.6%;top:25%}.collage-404.arkanoid a:nth-child(27){left:54.6%;top:37.5%}.collage-404.arkanoid a:nth-child(28){left:54.6%;top:50%}.collage-404.arkanoid a:nth-child(29){left:54.6%;top:62.5%}.collage-404.arkanoid a:nth-child(30){left:54.6%;top:87.5%}.collage-404.arkanoid a:nth-child(31){left:63.7%;top:12.5%}.collage-404.arkanoid a:nth-child(32){left:63.7%;top:25%}.collage-404.arkanoid a:nth-child(33){left:63.7%;top:50%}.collage-404.arkanoid a:nth-child(34){left:63.7%;top:62.5%}.collage-404.arkanoid a:nth-child(35){left:63.7%;top:87.5%}.collage-404.arkanoid a:nth-child(36){left:72.8%;top:0%}.collage-404.arkanoid a:nth-child(37){left:72.8%;top:25%}.collage-404.arkanoid a:nth-child(38){left:72.8%;top:37.5%}.collage-404.arkanoid a:nth-child(39){left:72.8%;top:50%}.collage-404.arkanoid a:nth-child(40){left:72.8%;top:62.5%}.collage-404.arkanoid a:nth-child(41){left:72.8%;top:75%}.collage-404.arkanoid a:nth-child(42){left:81.9%;top:37.5%}.collage-404.arkanoid a:nth-child(43){left:81.9%;top:50%}.collage-404.arkanoid a:nth-child(44){left:91%;top:50%}.collage-404.arkanoid a:nth-child(45){left:91%;top:62.5%}.collage-404.arkanoid a:nth-child(46){left:91%;top:75%}.collage-404.arkanoid a:nth-child(46) ~ *{display:none}h2{margin:0;padding:0;font-size:2.6em;font-weight:normal;color:#666;color:rgba(0,0,0,0.5);line-height:1.1em}nav{display:-ms-flexbox;display:flex;-ms-flex-item-align:stretch;align-self:stretch;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}nav .logo{opacity:0.3;transition:all 0.2s ease-in-out}nav .logo img{width:96px;height:auto}nav .logo:hover{opacity:0.9}nav h1{margin:0}@media screen and (max-width: 760px){h1{font-size:1.5rem}.collage-404 a,.collage-404 img{border-radius:0.125rem}.collage-404 h1{font-size:50vw}.color-range{width:100%}}
  9. </style>
  10.  </head>
  11.  <body>
  12.    <nav>
  13.      <a class="logo" href="https://dribbble.com/">
  14.        <img src="/images/dribbble-logo-v2.png" alt="Dribbble logo" class="dribbble-logo" />
  15.      </a>
  16.      <span>
  17.        <a href="https://dribbble.com/contact">Contact us</a>
  18.      </span>
  19.    </nav>
  20.    <main>
  21.  
  22.      <section class="message-404">
  23.        <h1>Whoops, that page is gone.</h1>
  24.        <p>While you’re here, feast your eyes upon these tantalizing popular designs matching the color <a id="color-choice" title="See all designs on Dribbble for this color"></a>.</p>
  25.      </section>
  26.  
  27.      <section class="collage-404">
  28.        <h1>404</h1>
  29.        <div class="collage-404-images"></div>
  30.      </section>
  31.      <div class="explore-cta">
  32.        <div>
  33.          <input class="color-range" type="range" min="0" max="100" value="75" title="Drag me, baby.">
  34.        </div>
  35.      </div>
  36.    </main>
  37.    <footer>
  38.      <form id="search" action="https://dribbble.com/search">
  39.        <div class="input input-search">
  40.          <svg class="input-icon" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
  41.            <g clip-path="url(#clip0)">
  42.              <circle cx="6.75" cy="6.75" r="5.75" stroke="black" stroke-width="2"/>
  43.              <path d="M11.5 11.5L15.5 15.5" stroke="black" stroke-width="2"/>
  44.            </g>
  45.            <defs>
  46.              <clipPath id="clip0">
  47.                <rect width="16" height="16" fill="white"/>
  48.              </clipPath>
  49.            </defs>
  50.          </svg>
  51.          <input type="search" name="q" value="" placeholder="Search for design or designers" name="q">
  52.        </div>
  53.      </form>
  54.    </footer>
  55.    <script>
  56.  
  57.      var dribbble404 = {
  58.        collage: document.querySelector('.collage-404'),
  59.        collageImages: document.querySelector(".collage-404-images"),
  60.        collageH1: document.querySelector('.collage-404 h1'),
  61.        html: document.documentElement,
  62.        colorRange: document.querySelector('.color-range'),
  63.        colorChoice: document.getElementById("color-choice"),
  64.        currentRange: 0,
  65.        shots: [],
  66.        utils: {
  67.          hsl2Rgb: function(h,s,l){
  68.            s=s/100;
  69.            l=l/100;
  70.            var c,x,m,rgb;
  71.            c=(1-Math.abs(2*l-1))*s;
  72.            x=c*(1-Math.abs(((h/60)%2)-1));
  73.            m=l-c/2;
  74.            if(h>=0&&h<60) rgb=[c,x,0];
  75.            if(h>=60&&h<120) rgb=[x,c,0];
  76.            if(h>=120&&h<180) rgb=[0,c,x];
  77.            if(h>=180&&h<240) rgb=[0,x,c];
  78.            if(h>=240&&h<300) rgb=[x,0,c];
  79.            if(h>=300&&h<=360) rgb=[c,0,x];
  80.  
  81.            return rgb.map(function(v){
  82.              return 255*(v+m)|0;
  83.            });
  84.          },
  85.          rgb2Hex: function(r, g, b) {
  86.            var rgb = b | (g << 8) | (r << 16);
  87.            return '#' + (0x1000000 + rgb).toString(16).slice(1)
  88.          },
  89.          hsl2Hex: function(h, s, l){
  90.            var rgb = this.hsl2Rgb(h, s, l)
  91.            return this.rgb2Hex( rgb[0], rgb[1], rgb[2] )
  92.          },
  93.          hueFromRangeValue: function(val) {
  94.            return ((val/100)*360).toFixed(0)
  95.          },
  96.          inputSupported: function(type){
  97.            var x = document.createElement("input");
  98.            x.setAttribute("type", type);
  99.            return x.type === type;
  100.          },
  101.          listenForKeyCombo: function(combo,callback){
  102.            if ( window.addEventListener ) {
  103.              var keys = []
  104.              var konami =
  105.              window.addEventListener("keydown", (function(e){
  106.                  keys.push( e.keyCode )
  107.                  if ( keys.toString().indexOf( combo ) >= 0 ){
  108.                    keys = []
  109.                    callback()
  110.                  }
  111.              }).bind(this), true)
  112.            }
  113.          }
  114.        },
  115.        init: function(){
  116.          this.currentRange = Math.floor(100*Math.random())
  117.  
  118.          if(this.colorRange && this.utils.inputSupported("range")){
  119.            this.colorRange.addEventListener('change', this.fetchAndBuildShots.bind(this))
  120.            this.colorRange.addEventListener('input', this.syncColors.bind(this))
  121.            this.colorRange.value = this.currentRange
  122.            var event = new Event('change')
  123.            this.colorRange.dispatchEvent(event)
  124.          } else {
  125.            this.colorRange.style.display = "none"
  126.            this.fetchAndBuildShots()
  127.          }
  128.  
  129.          this.utils.listenForKeyCombo("38,38,40,40,37,39,37,39,66,65",this.konami.bind(this))
  130.        },
  131.        loading: function(){
  132.          this.html.classList.remove('loaded')
  133.          this.html.classList.add('loading')
  134.        },
  135.        loaded: function(){
  136.          this.html.classList.remove('loading')
  137.          this.html.classList.add('loaded')
  138.        },
  139.        konami: function(){
  140.          this.collageH1.innerHTML = '<svg width="176" height="128" viewBox="0 0 176 128" fill="black" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M48 0H32V16H48V32H32V48H16V64H0V112H16V80H32V112H48V128H80V112H48V96H128V112H96V128H128V112H144V80H160V112H176V64H160V48H144V32H128V16H144V0H128V16H112V32H64V16H48V0ZM48 64V48H64V64H48ZM128 48H112V64H128V48Z"/></svg>'
  141.          this.collage.classList.add("arkanoid")
  142.          this.loading()
  143.          this.build404Shots(this.shots)
  144.        },
  145.        build404Shots: function(data){
  146.          this.collageImages.innerHTML = ''
  147.          var numLoaded = 0
  148.          var that = this
  149.  
  150.          //create all links to shots and images
  151.          Array.prototype.forEach.call(data,function(shot,i){
  152.  
  153.            if(i>51) return;
  154.  
  155.            var link = document.createElement("a")
  156.            link.href = shot.url
  157.  
  158.            //randomly position and style each shot link
  159.            var x = 0*Math.random()
  160.            var y = 0*Math.random()
  161.            var z = 500*Math.random()
  162.            var s = (0.75 + 0.25*Math.random())
  163.            var transform = "translateX(" + x + "%) translateY(" + y + "%) scale(" + s + ") "
  164.            link.style.transform = transform + " translateZ(" + z + "px)"
  165.            link.style.color = "rgba(0,0,0," + (1-s)*0.5 + ")"
  166.            link.style.boxShadow = "0 0 0 currentColor"
  167.  
  168.            //setup the shot image
  169.            var img = document.createElement("img")
  170.  
  171.            function imgLoaded(){
  172.              numLoaded++;
  173.              link.classList.add("loaded")
  174.              link.style.transform = transform
  175.              setTimeout(function(){
  176.                link.classList.add("introduced")
  177.              },2000)
  178.              if(numLoaded == data.length){
  179.                that.loaded()
  180.              }
  181.            }
  182.  
  183.            //start loading the image
  184.            img.src = shot.img;
  185.            if(img.complete){
  186.              setTimeout(imgLoaded,10)
  187.            }else{
  188.              img.addEventListener("load",imgLoaded)
  189.              img.addEventListener("error",imgLoaded)
  190.            }
  191.  
  192.            // append all to the 404 images
  193.            link.appendChild(img)
  194.            that.collageImages.appendChild(link)
  195.  
  196.          });
  197.        },
  198.        syncColors: function(){
  199.          var hue = this.utils.hueFromRangeValue(this.currentRange)
  200.          if(this.utils.inputSupported("range")){
  201.            hue = this.utils.hueFromRangeValue(this.colorRange.value)
  202.          }
  203.          var hsl = "hsl("+ hue + ", 100%, 50%)"
  204.          var hex = this.utils.hsl2Hex(hue,100,50)
  205.          this.colorRange.style.color = hsl
  206.          this.colorChoice.style.color = hsl
  207.          this.colorChoice.innerHTML = hex
  208.          this.colorChoice.setAttribute('href','https://dribbble.com/colors/' + hex.replace('#',''))
  209.          return hex
  210.        },
  211.        fetchAndBuildShots: function(){
  212.          var that = this
  213.          var hex = this.syncColors()
  214.  
  215.          this.loading()
  216.          this.colorRange.disabled = true
  217.  
  218.          // call api and get new shots
  219.          var request = new XMLHttpRequest()
  220.          request.open('GET', '/colors/for_404.json?hex=' + hex.replace('#',''), true)
  221.          request.setRequestHeader("X-Requested-With", "XMLHttpRequest")
  222.          request.onload = (function() {
  223.            if (request.status == 200) {
  224.              this.colorRange.disabled = false
  225.              this.shots = JSON.parse(request.response).shots
  226.              if( this.shots.length > 0 ){
  227.                this.loaded()
  228.              }
  229.              this.build404Shots(this.shots)
  230.            } else {
  231.              console.log("Error fetching colors.")
  232.            }
  233.          }).bind(this);
  234.          request.onerror = function() {
  235.            console.log("Error fetching colors.")
  236.          };
  237.          request.send()
  238.  
  239.        }
  240.      }
  241.  
  242.      dribbble404.init()
  243.    </script>
  244.  </body>
  245. </html>
  246.  
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda