hearthpwn2ja Fork

    @@ -1,33 +1,51 @@ /* - * @title ハースストーン翻訳 - * @description HearthPwn のデッキを日本語に翻訳します。 + * @title hearthpwn2ja + * @description translate deck info to japanese on hearthpwn.com * @include http://www.hearthpwn.com/decks/* - * @license MIT License - * @require jQuery + * @contributor fmimali http://let.hatelabo.jp/fmimali/let/hLHW-s2jm699 + * @license MIT License https://opensource.org/licenses/MIT + * @javascript_url */ - function hspwn2jp(deck_name, author, cards){ + // *STRONGLY* recommends Lint/beautify + // http://eslint.org/demo/ + // http://jsbeautifier.org/ + // and ES2015+ + // https://kangax.github.io/compat-table/es6/ + // https://caniuse.com/ + // https://babeljs.io/repl/ - var data = 'deck_name='+deck_name+'&'+'author=' + author + '&'+ 'url='+window.location.href + '&'; + (function() { - for(i=0;i<cards.length;i++){ + 'use strict'; - var n_key = 'n' + i; + - var c_key = 'c' + i; + var deck_name = document.body.querySelector([ - var name = cards[i][0]; + '#content .deck-title.tip' - var count = cards[i][1]; + ]).textContent.trim(); - data = data + n_key +'='+name + '&'; + - data = data + c_key +'='+count + '&'; + var author = document.body.querySelector([ - } + '#content .user-details .user .name a.tip' - params = encodeURI(data); + ]).textContent.trim(); - window.open('http://www.hearth.tokyo/translate?' + params); + - } + // TBD location.serch, URL Object, URLSearchParams - var deck_name = $('h2.deck-title.tip:first').text(); + var query = [ - var author = $('#content section.user-details ul.user li.name a.tip').text().trim(); + 'deck_name=' + deck_name, - var cards = $('table#cards tr td b a'); + 'author=' + author, - var arr = []; + 'url=' + location.href - for(i=0;i<cards.length;i++){ + ]; - card = cards[i]; + - var c = $(card).attr('data-count'); + Array.prototype.map.call(document.body.querySelectorAll([ - var n = $(card).text().trim(); + '#content #cards .col-name a[data-count]' - arr.push([n,c]); + ]), function(card) { - } + return { - hspwn2jp(deck_name,author,arr); + name: card.textContent.trim(), + count: card.getAttribute('data-count') + }; + }).forEach(function(card, idx) { + query.push('n' + idx + '=' + card.name); + query.push('c' + idx + '=' + card.count); + }); + + var search = encodeURI(query.join('&')); + window.open('http://www.hearth.tokyo/translate?' + search); + })(); +
  • /*
     * @title hearthpwn2ja
     * @description translate deck info to japanese on hearthpwn.com
     * @include http://www.hearthpwn.com/decks/*
     * @contributor fmimali http://let.hatelabo.jp/fmimali/let/hLHW-s2jm699
     * @license MIT License https://opensource.org/licenses/MIT
     * @javascript_url
     */
    
    // *STRONGLY* recommends Lint/beautify
    //  http://eslint.org/demo/
    //  http://jsbeautifier.org/
    // and ES2015+
    //  https://kangax.github.io/compat-table/es6/
    //  https://caniuse.com/
    //  https://babeljs.io/repl/
    
    (function() {
      'use strict';
    
      var deck_name = document.body.querySelector([
        '#content .deck-title.tip'
      ]).textContent.trim();
    
      var author = document.body.querySelector([
        '#content .user-details .user .name a.tip'
      ]).textContent.trim();
    
      // TBD location.serch, URL Object, URLSearchParams
      var query = [
        'deck_name=' + deck_name,
        'author=' + author,
        'url=' + location.href
      ];
    
      Array.prototype.map.call(document.body.querySelectorAll([
        '#content #cards .col-name a[data-count]'
      ]), function(card) {
        return {
          name: card.textContent.trim(),
          count: card.getAttribute('data-count')
        };
      }).forEach(function(card, idx) {
        query.push('n' + idx + '=' + card.name);
        query.push('c' + idx + '=' + card.count);
      });
    
      var search = encodeURI(query.join('&'));
      window.open('http://www.hearth.tokyo/translate?' + search);
    })();
    
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2017/05/06 08:42:14 - 2017-05-06
  2. 2017/05/05 23:43:03 - 2017-05-05
  3. 2017/05/05 23:42:58 - 2017-05-05