bookmarklet
by
suteadolife
2018-02-26 [2018/02/26 23:13:11]
my 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 です。