bookmarklet

    @@ -15,50 +15,43 @@ document.body.appendChild(script); })( function($, undefined){ + count = 0; + $('div.series-difficulty>table>tbody>tr').each(function(i,e) + { + head = $(e).find('th[colspan]'); + if (head.attr('colspan') == 5) + { + console.log('skip header1: ' + head.text()); + return false; + } - count=0; - $('div.srg>div.g').each(function(i,e){ - - href=$(e).find('a[href]').first().attr('href'); - score = $(e).find('div._score_'); - if( score.length ){ - console.log(score.text()); - }else{ - count++; - if( count>5 ){ - console.log('break function'); - return false; - } - console.log(count + '(' + i + ')' + href); + head = $(e).find('td[colspan]'); + if (head.attr('colspan') == 5) + { + console.log('skip header2: ' + head.text()); + return false; + } + if( count > 5 ) + { + console.log('break function'); + return false; + } - $.ajax({ - type: "get", - url: "https://www.googleapis.com/pagespeedonline/v4/runPagespeed", - timeout: 20000, - cache: false, - data: {'url':href, 'strategy':'desktop'}, - dataType: 'json' - }) - .done(function (response, textStatus, jqXHR) { - console.log(response); - if (response.status === "err") { - console.error("err: " + response.msg); - } else { - score = response['ruleGroups']['SPEED']['score']; - console.log(href+'=>' + score); - $(e).prepend('<div class="_score_">'+score+'</div>'); - } - }) - .fail(function (jqXHR, textStatus, errorThrown) { + console.log(count + '(' + i + ')'); + $(e).find('td').each(function(ii,ee) + { + if ($(ee).length) + { + console.log(' ' + $(ee).text()); + } + else + { + console.log(' ' + $(ee).find('img[src]').first().attr('src')); + } + }); - console.log(jqXHR); - alert("失敗: サーバー内でエラーがあったか、サーバーから応答がありませんでした。"); - }) - .always(function (data_or_jqXHR, textStatus, jqXHR_or_errorThrown) { - // done,failを問わず、常に実行される処理 - }); - } + count++; }); console.log('end function'); }
  • /*
     * @title bookmarklet
     * @description my bookmarklet
     * @include http://*
     * @license MIT License
     * @require 
     */
    void((function(f){
        var script = document.createElement('script');
        script.src = '//code.jquery.com/jquery-3.2.1.min.js';
        script.onload = function(){
          var $ = jQuery.noConflict(true);
          f($);
        };
        document.body.appendChild(script);
    })(
    function($, undefined){
        count = 0;
        $('div.series-difficulty>table>tbody>tr').each(function(i,e)
        {
            head  = $(e).find('th[colspan]');
            if (head.attr('colspan') == 5)
            {
                console.log('skip header1: ' + head.text());
                return false;
            }
    
            head  = $(e).find('td[colspan]');
            if (head.attr('colspan') == 5)
            {
                console.log('skip header2: ' + head.text());
                return false;
            }
    
            if( count > 5 )
            {
               console.log('break function');
               return false;
            }
    
            console.log(count + '(' + i + ')');
            $(e).find('td').each(function(ii,ee)
            {
                if ($(ee).length)
                {
                    console.log('  ' + $(ee).text());
                }
                else
                {
                    console.log('  ' + $(ee).find('img[src]').first().attr('src'));
                }
            });
    
            count++;
        });
        console.log('end function');
    }
    )
    );
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2018/02/26 23:13:11 - 2018-02-26
  2. 2018/02/26 23:05:52 - 2018-02-26
  3. 2018/02/26 21:57:49 - 2018-02-26
  4. 2018/02/26 21:53:43 - 2018-02-26
  5. 2018/02/26 21:41:08 - 2018-02-26