mcg: ajax reload

    
      
  • /*
     * @title mcg: ajax reload
     * @description http://mcg.herokuapp.com/の結果ページをajaxでリロード
     * @include http://mcg.herokuapp.com/*
     * @license CC0
     */
    
    // http://mcg.herokuapp.com/89d81b4ed5f81eb8aeaffcf66a6720d4/
    // http://mcg.herokuapp.com/89d81b4ed5f81eb8aeaffcf66a6720d4/54ab700e1c40451f75f11644ca054aa2/
    // 1つのソースによる結果ページと、2つのソースによる結果ページがある。いずれも末尾の / は必須。
    if (/^\/\w+\//.test(location.pathname)){
      var target = document.querySelector('.twitter-share-button');
      target.insertAdjacentHTML('beforebegin', '<button type="button" class="btn btn-default btn-xs" id="_mcg_ajaxify_reload">リロード</button>');
    
      var button = document.getElementById('_mcg_ajaxify_reload');
      button.addEventListener('click', function(event){
        event.preventDefault();
    
        var textContainer = document.querySelector('h1');
        textContainer.style.opacity = 0.5;
    
        var xhr = new XMLHttpRequest();
        xhr.open('GET', location.pathname + '/json');
        xhr.onload = function(){
          textContainer.textContent = JSON.parse(xhr.responseText).result;
          textContainer.style.opacity = 1;
        };
        xhr.send(null);
      });
    }
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2014/10/09 23:42:24 - 2014-10-09
  2. 2014/09/13 16:36:36 - 2014-09-13
  3. 2014/09/13 16:32:48 - 2014-09-13