nishino_ameblo_easy Fork

    @@ -45,6 +45,12 @@ for (var k = 0; k < result3.snapshotLength; k++) { result3.snapshotItem(k).classList.add("div_last"); } + //first_text処理 + var result10 = document.evaluate('//div[@class="skin-entryBody" or @class="entry-text"]/*[1]/preceding-sibling::text()[string-length()>1]', document, null, 7, null); + var result11 = document.evaluate('//div[@class="skin-entryBody" or @class="entry-text"]/*[1]', document, null, 7, null); + result11.snapshotItem(0).insertAdjacentHTML("beforebegin", "<div class='fs'>"+result10.snapshotItem(0).nodeValue+"</div>"); + result10.snapshotItem(0).nodeValue=""; + $(".fs+*:not(div)").prev().css("display", "inline"); //生テキスト処理 var result14 = document.evaluate('//div[@class="skin-entryBody" or @class="entry-text"]/text()[string-length()>1]/following-sibling::*[1][@class="div_br"]', document, null, 7, null); for (var f = 0; f < result14.snapshotLength; f++) {
  • // ==UserScript==
    // @title        nishino_ameblo_easy
    // @name         nishino_ameblo_easy
    // @namespace    http://tampermonkey.net/
    // @version      0.1
    // @description  try to take over the world!
    // @author       You
    // @match        https://ameblo.jp/nishino-akihiro/*
    // @match        https://gamp.ameblo.jp/nishino-akihiro/*
    // @grant        none
    // @require      http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js
    // ==/UserScript==
    var result = document.evaluate('//div[@class="skin-entryBody" or @class="entry-text"]//br/ancestor::*[./ancestor::div[@class="skin-entryBody" or @class="entry-text"] and not(self::a)]', document, null, 7, null);
    for (var i = 0; i < result.snapshotLength; i++) {
      result.snapshotItem(i).classList.add("anc");
    }
    var result2 = document.evaluate('//div[@class="skin-entryBody" or @class="entry-text"]//*[./text()]/ancestor::*[./ancestor::div[@class="skin-entryBody" or @class="entry-text"] and not(self::a)]', document, null, 7, null);
    for (var j = 0; j < result2.snapshotLength; j++) {
      result2.snapshotItem(j).classList.add("anc");
    }
    $('.anc').replaceWith(function () {
      return $(this).contents();
    });
    //空div処理
    var result4 = document.evaluate('//div[@class="skin-entryBody" or @class="entry-text"]//div/text()', document, null, 7, null);
    for (var x = 0; x < result4.snapshotLength; x++) {
        if (/^\s+/g.test(result4.snapshotItem(x).nodeValue)) {
            if(!(/ /g.test(result4.snapshotItem(x).nodeValue))){
                result4.snapshotItem(x).nodeValue=result4.snapshotItem(x).nodeValue.replace(/^\s+/g,"");
            }
        }
    }
    var result5 = document.evaluate('//div[@class="skin-entryBody" or @class="entry-text"]//div[contains(text()," ")]', document, null, 7, null);
    for (var y = 0; y < result5.snapshotLength; y++) {
        result5.snapshotItem(y).classList.add("div_br");
    }
    var listArray4 = document.querySelectorAll('.skin-entryBody div:empty');
    for (var z = 0; z < listArray4.length; z++) {
        listArray4[z].remove();
    }
    //lastbr処理
    $(".skin-entryBody>br").wrap("<div class='div_br'></div>");
    $(".entry-text>br").wrap("<div class='div_br'></div>");
    var result3 = document.evaluate('//div[@class="skin-entryBody" or @class="entry-text"]/div[not(@class="div_br")][last()]', document, null, 7, null);
    for (var k = 0; k < result3.snapshotLength; k++) {
      result3.snapshotItem(k).classList.add("div_last");
    }
    //first_text処理
    var result10 = document.evaluate('//div[@class="skin-entryBody" or @class="entry-text"]/*[1]/preceding-sibling::text()[string-length()>1]', document, null, 7, null);
    var result11 = document.evaluate('//div[@class="skin-entryBody" or @class="entry-text"]/*[1]', document, null, 7, null);
    result11.snapshotItem(0).insertAdjacentHTML("beforebegin", "<div class='fs'>"+result10.snapshotItem(0).nodeValue+"</div>");
    result10.snapshotItem(0).nodeValue="";
    $(".fs+*:not(div)").prev().css("display", "inline");
    //生テキスト処理
    var result14 = document.evaluate('//div[@class="skin-entryBody" or @class="entry-text"]/text()[string-length()>1]/following-sibling::*[1][@class="div_br"]', document, null, 7, null);
    for (var f = 0; f < result14.snapshotLength; f++) {
      result14.snapshotItem(f).classList.add("br_first");
    }
    //a/img処理
    var result15 = document.evaluate('//div[@class="skin-entryBody" or @class="entry-text"]/a[./img]', document, null, 7, null);
    for (var g = 0; g < result15.snapshotLength; g++) {
      result15.snapshotItem(g).style.display='block';
    }
    //td回り込み
    $(".skin-entryBody>td+a+div").next().addClass("td_after");
    var listArray = document.querySelectorAll('.skin-entryBody>.td_after');
    for (var a = 0; a < listArray.length; a++) {
      listArray[a].insertAdjacentHTML("afterend", "<div></div>");
    }
    //特殊タグ処理
    var listArray2 = document.querySelectorAll('.skin-entryBody>iframe');
    for (var b = 0; b < listArray2.length; b++) {
      listArray2[b].insertAdjacentHTML("beforebegin", "<div></div>");
      listArray2[b].insertAdjacentHTML("afterend", "<div></div>");
    }
    var listArray3 = document.querySelectorAll('.skin-entryBody>td');
    for (var c = 0; c < listArray3.length; c++) {
      listArray3[c].insertAdjacentHTML("beforebegin", "<div></div>");
    }
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。