ページをチカチカさせるやつ

  • /*
     * @title ページをチカチカさせるやつ
     * @description チカチカします
     * @include http://*
     * @license MIT License
     * @require 
     */
    
    window.requestAnimationFrame = (function() {
      return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function(callback, element) {
        return window.setTimeout(function() {
          return callback();
        }, 1000 / 60);
      };
    })();
    
    
    var randomColor = function() { return 'rgb(' + (Math.random() > 0.5 ? 255 : 0) + ', ' + (Math.random() > 0.5 ? 255 : 0) + ', ' + (Math.random() > 0.5 ? 255 : 0) + ')' };
    
    var style = document.createElement('style');
    document.body.appendChild(style);
    
    var selectors = Array.prototype.slice.call(document.querySelectorAll('*[id]')).map(function(element) {
        var id = element.id
        if (!id) return '';
        return element.tagName + '#' + id;
    }).concat(Array.prototype.slice.call(document.querySelectorAll('*[class]')).map(function(element) {
        var className = element.className;
        if (!className) return '';
        return element.tagName + '.' + className;
    }));
    
    var apply = function() {
        style.textContent = ['*', 'body'].concat(selectors).map(function(selector) {
            if (!selector) return '';
            return selector + ' {color: ' + randomColor() + '; background: ' + randomColor() + ' }';
        }).join("\n");
        window.requestAnimationFrame(apply);
    };
    
    apply();
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2012/11/17 09:11:44 - 2012-11-17