返回首頁 

Improve logsoku for smart phone

display image directly, add links that show a certain accout of floor


Install this script?
// ==UserScript==// @name           Improve logsoku  for smart phone// @description    display image directly, add links that show a certain accout of floor// @include        https://www.logsoku.com/*// @include        https://sp.logsoku.com/*// @include        http://*.2ch.*// @author         yechenyin// @version        0.92.4// @namespace 	   https://greasyfork.org/scripts/3497// ==/UserScript==/**************************以下参数可自定义修改**************************///图片显示默认缩放比例var percent = 0.5;//图片显示最大高度(像素)var image_max_height = 420;//图片显示最大宽度(像素)var image_max_width = 600;//图片显示最小高度(像素)var image_min_height = 240;//显示显示最小宽度(像素)var image_min_width = 320;//弹出图片的原图,要取消此功能请将true改为falsevar popup_enable = true;//点击图片后隐藏图片,要取消此功能请将true改为falsevar click_to_hide_image = true;//var phone_thread_comments = 334;//var contain_floores = 250;//var pc_searched_links_contain_comments = 500;//var latest_floors = 150;var block_floors_contain_blacklist_image = true;var search_r###lt_latest_floors = 15;/****************************************************/if (!localStorage)alert('This browser does not support localStorage!');if (localStorage.last_read === undefined)localStorage.last_read = '';if (localStorage.filter === undefined)localStorage.filter = '';if (localStorage.blacklist_ids === undefined)localStorage.blacklist_ids = '';if (localStorage.blacklist_images === undefined)localStorage.blacklist_images = '';window.onerror = function(msg, url, num) {//alert(num+' '+msg);};if (location.href.match("https://sp.logsoku.com/search")) {$('head').append($('<style>').text('iframe' + ' {display:none!important}'));for (var i = 0; i < $("a.search_thread_title").length; i++) {var thread = $("a.search_thread_title").eq(i);last_comment = thread.next().find(".res span").text().match(/\d+/)[0];var href = thread[0].href + "1-" + last_comment;var all_comments = $("<a>", {href: href});thread.next().find(".res span").wrap(all_comments);var time = thread.next().find(".date").text();time = time.replace(/\d{4}-/, "").replace(/:\d{2}\s/, " ");time = time.replace(/\d{4}-/, "").replace(/:\d{2}\s$/, " ");thread.next().find(".date").text(time);}get_last_read("a.search_thread_title");// openDB().onsuccess  = function(event){//   var db = event.target.r###lt;//   var transaction = db.transaction(["read"],"readwrite");//   var store = transaction.objectStore("read");////   for (var i=0; i<$("a.search_thread_title").length; i++) {//     (function(i) {//       var thread = $("a.search_thread_title").eq(i);//       var url = thread[0].href.replace("https://sp.logsoku.com", "");//       var request = store.get(url);//       request.onsuccess = function(event){//         if (event.target.r###lt) {//           var start = event.target.r###lt.last + 1;//           if (start >1000)//           start = 1001;//           var end = start + phone_thread_comments;//           thread[0].href = url + start + "-" + end;//         } else {//           thread[0].href = url + "1-" + phone_thread_comments;//         }//         console.log(i + ":" + thread[0].href);//       };//     })(i);//   }// };}jQuery.fn.loaded = function(action) {var target = this;if ($(this.selector).length > 0) {console.log($(this.selector).length + ' ' + this.selector + " is loaded");setTimeout(function() {action();}, 300);} elsesetTimeout(function() {target.loaded(action);}, 100);};jQuery.fn.handle = function() {this.each(function() {if (this.href && this.href.indexOf("http://l.moapi.net/") === 0) {this.href = this.href.replace("http://l.moapi.net/", '');this.href = this.href.replace(/\w*:?\/\//, "http://");}if (this.href && this.offsetTop > document.body.scrollTop - window.screen.height / 2 && this.offsetTop < document.body.scrollTop + window.screen.height * 3) {if (localStorage.blacklist_images && localStorage.blacklist_images.indexOf(this.href) > 0) {if (block_floors_contain_blacklist_image) {$(this).parent().prev().hide();$(this).parent().hide();}else$(this).hide();} else if (this.href.match(/\.(jpg|jpeg|bmp|gif|png|JPG|JPEG|BMP|GIF|PNG)(:orig)?$/) && localStorage.filter != "all_comments_hide_images") {console.log(this.href);$(this).replaceWith($("<img>", {src: this.href}));}}});};if (location.href.indexOf("https://sp.logsoku.com/r/") === 0) {$('head').append($('<style>').text('iframe' + ' {display:none!important}'));if (location.href[location.href.lastIndexOf("/") + 1] != "l")var first = parseInt($(".thread_2ch>dd").eq(0).attr("id").replace("comment_", ""));elsevar first = parseInt($(".thread_2ch>dd").eq(1).attr("id").replace("comment_", ""));var last = parseInt($(".thread_2ch>dd").last().attr("id").replace("comment_", ""));if (last > 1000)last = 1001;var amount = parseInt($(".navbar").prev().text().match(/^\d+/)[0]);if (amount > 1000)amount = 1000;$(".pagination li").remove();var href = location.href.substring(0, location.href.lastIndexOf("/") + 1);var link = null;if (first - phone_thread_comments >= 1)link = $("<a>", {text: "<",href: href + (first - phone_thread_comments).toString() + "-" + (first - 1).toString()});else if (first >= 1)link = $("<a>", {text: "<",href: href + "1" + "-" + (first - 1).toString()});if (link)$(".pagination ul").append(link.wrap($("<li>")));for (var i = 0; i < amount / phone_thread_comments; i++) {link = $("<a>", {text: (i + 1).toString(),href: href + (i * phone_thread_comments + 1).toString() + "-" + (i * phone_thread_comments + phone_thread_comments).toString()});$(".pagination ul").append(link.wrap($("<li>")));}var next_link = null;if (last + phone_thread_comments < amount)next_link = $("<a>", {text: ">",href: href + (last + 1).toString() + "-" + (last + phone_thread_comments).toString()});else if (last + 1 <= amount)next_link = $("<a>", {text: ">",href: href + (last + 1).toString() + "-" + amount});if (next_link)$(".pagination ul").append(next_link.wrap($("<li>")));var filter_menu = $("<li>", {class: "dropdown open filter"});var innerHTML = "<a href='#' class='dropdown-toggle'>过滤<b class='caret'></b></a>";innerHTML += "<ul class='dropdown-menu filter-menu' style='display:none'>";innerHTML += "<li id='all_comments'><a>全部</a></li><li class='divider'></li>";innerHTML += "<li id='all_comments_hide_images'><a>不显示图片</a></li><li class='divider'></li>";innerHTML += "<li id='only_reply_and_links'><a>只含回复及链接</a></li><li class='divider'></li>";innerHTML += "<li id='only_links_and_images'><a>只含链接及图片</a></li><li class='divider'></li>";innerHTML += "<li id='only_images'><a>只含图片</a></li> </ul>";filter_menu.html(innerHTML);filter_menu.insertBefore($("ul.nav>li:last-child").eq(0));$("li.filter>a").click(function() {$(this).next().toggle();});filter_comments();$("ul.filter-menu").on("click", "li", function(filter) {localStorage.filter = this.id;filter_comments();});record_last_read();get_last_read("dd>a[href^='/']");$(".thread dt br").remove();$(".thread dt .nem, dt>b").remove();$(".thread dt").append($("<span>", {text: "block this ID",click: blockId}));$(".thread dt").append("&nbsp;&nbsp;");$(".thread dt").append($("<span>", {text: "block images blow",click: blockImages}));$(".thread dt").each(function() {var id = $(this).find("a[class^='id']").text();if (localStorage.blacklist_ids && localStorage.blacklist_ids.indexOf(id) > 0) {$(this).next().remove();$(this).remove();}});$(".thread dd>a").handle();$(window).scroll(function() {$(".thread dd>a").handle();});$(".anchor_res>a").click(function() {$(this).parent().load(this.href + " .thread_2ch>dd");return false;});$("#thread-recommend-list-display a").loaded(function() {var recommend = $("#thread-recommend-list-display");var title = $('h1.title').eq(0).text();if (title.indexOf('★') > 0)common = title.substring(0, title.indexOf('★'));else if (title.indexOf('☆') > 0)common = title.substring(0, title.indexOf('★'));else {var title1 = recommend.find("a").eq(0).text();var title2 = recommend.find("a").eq(1).text();for (i = 0; i < title1.length; i++)if (title2[i] != title1[i])break;common = title1.substring(0, i - 1);}console.log('query:' + common);recommend.prepend($("<div>", {css: {display: "none"}}));recommend.children().first().load("https://sp.logsoku.com/search?q=" + common + " .search-list", function() {for (i = 0; i < recommend.find("li a").length; i++) {recommend.find("li a")[i].href = $(".search-list .column>a")[i].href;recommend.find("li a")[i].textContent = $(".search-list .column>a")[i].textContent;}recommend.find("li").each(function() {if (location.href.match($(this).find("a")[0].href)) {$(this).css({'border': '2px solid #AFAE93','border-top': '1px solid #AFAE93'});}});get_last_read("#thread-recommend-list-display a");recommend.find("li a").each(function() {if (this.href.match(/\d+(?=-)/)[0] > 1000) {$(this).css({'color': '#8F8E7D'});}});});});}function get_last_read(links) {for (var i = 0; i < $(links).length; i++) {var thread = $(links)[i];var url = thread.href.replace("https://sp.logsoku.com", "");var index = -1;if (localStorage.last_read)index = localStorage.last_read.indexOf(url);if (index > 0) {var last_read = parseInt(localStorage.last_read.substr(index - 3, 3));if (last_read === 0)last_read = 1000;var start = last_read + 1;var end = start + phone_thread_comments;console.log(last_read + ' is read last time for ' + url);thread.href = url + start + "-" + end;} else {thread.href = url + "1-" + phone_thread_comments;}console.log(i + "::" + thread.href);}}function record_last_read() {var url = location.href.replace("https://sp.logsoku.com", "");url = url.substring(0, url.lastIndexOf("/") + 1);var last_read = $(".thread_2ch>dt strong").last().text();if (last_read.length == 1)last_read = '00' + last_read;if (last_read.length == 2)last_read = '0' + last_read;if (last_read.length == 4)last_read = '000';console.log(last_read + ' is read for' + url);var index = -1;if (localStorage.last_read)index = localStorage.last_read.indexOf(url);if (index < 0) {localStorage.last_read += last_read + url + "\n";} else {localStorage.last_read = localStorage.last_read.substring(0, index - 4) + last_read + localStorage.last_read.substr(index);}console.log('last read:' + localStorage.last_read);//   openDB().onsuccess  = function(event){//     var db = event.target.r###lt;//     var transaction = db.transaction(["read"],"readwrite");//     transaction.oncomplete = function(event) {//       console.log("Success");//     };//     transaction.onerror = function(event) {//       alert("Error");//     };////////     var store = transaction.objectStore("read");//     var request = store.get(url);//     request.onsuccess = function(event){//       if (!request.r###lt) {//         console.log("Adding : "+ url + " : " + last_read);//         store.add({url: url, last: parseInt(last_read)});//       } else {//         console.log("Updating : "+event.target.r###lt.last + " to " + last_read);//         request.r###lt.last = parseInt(last_read);//         store.put(request.r###lt);//       }//     };////   };//}function openDB() {var indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;if (!indexedDB)console.log("你的浏览器不支持IndexedDB");var request = indexedDB.open("2chDB", 1);var db;request.onerror = function(event) {alert("打开DB失败" + event);};request.onupgradeneeded = function(event) {console.log("Upgrading");db = event.target.r###lt;var objectStore = db.createObjectStore("read", {keyPath: "url"});objectStore.createIndex("last", "last", {unique: false});};return request;}function blockId() {var id = $(this).parent().find("a[class^='id']").text();localStorage.blacklist_ids += id + ",";$("dt").each(function() {var id = $(this).find("a[class^='id']").text();if (localStorage.blacklist_ids.indexOf(id) > 0) {$(this).next().hide();$(this).hide();}});}function blockImages() {var images = $(this).parent().next().find("img");localStorage.blacklist_images += images[0].src + " ";$("dt").each(function() {var images = $(this).next().find("img");for (i = 0; i < images.length; i++) {if (localStorage.blacklist_images.indexOf(images[i].src) > 0) {if (block_floors_contain_blacklist_image) {$(this).next().hide();//$(this).hide();break;} else$(images[i]).hide();}}});}function filter_comments() {if (this.nodeName == "li" && this.id !== undefined)localStorage.filter = this.id;$("ul.filter-menu>li").each(function() {if (this.id == localStorage.filter)$(this).css("background", "#d8edff");else$(this).css("background", "#fff");});$("ul.filter-menu").hide();if (localStorage.filter == "all_comments") {$("dd[id^=comment]").each(function() {$(this).prev().show();$(this).show();});} else if (localStorage.filter == "only_reply_and_links") {$("dd[id^=comment]").each(function() {if ($(this).find("a, img").length === 0) {$(this).prev().hide();$(this).hide();} else {$(this).prev().show();$(this).show();}});} else if (localStorage.filter == "only_links_and_images") {$("dd[id^=comment]").each(function(index) {if ($(this).find("a[href^='http:'], img").length === 0 && index !== 0) {$(this).prev().hide();$(this).hide();} else {$(this).prev().show();$(this).show();}});} else if (localStorage.filter == "only_images") {$("dd[id^=comment]").each(function() {if ($(this).find("img").length === 0) {$(this).prev().hide();$(this).hide();} else {$(this).prev().show();$(this).show();}});}}function pc_filter_comments() {if (this.nodeName !== undefined && this.id !== undefined)localStorage.filter = this.id;$("ul.filter-menu>li").each(function() {if (this.id == localStorage.filter)this.css("background", "#d8edff");elsethis.css("background", "#fff");});$("ul.filter-menu").hide();if (localStorage.filter == "all_comments") {$("dd[id^=comment]").each(function() {$(this).prev().show();$(this).show();});} else if (localStorage.filter == "only_reply_and_links") {$("dd[id^=comment]").each(function() {if ($(this).find("a, img").length === 0) {$(this).prev().hide();$(this).hide();} else {$(this).prev().show();$(this).show();}});} else if (localStorage.filter == "only_links_and_images") {$("dd[id^=comment]").each(function() {if ($(this).find("a[href^='http:'], img").length === 0) {$(this).prev().hide();$(this).hide();} else {$(this).prev().show();$(this).show();}});} else if (localStorage.filter == "only_images") {$("dd[id^=comment]").each(function() {if ($(this).find("img").length === 0) {$(this).prev().hide();$(this).hide();} else {$(this).prev().show();$(this).show();}});}}if (location.href.match("https://www.logsoku.com/search")) {var r###lts = document.getElementById("search_r###lt_threads");if (r###lts) {var titles = r###lts.getElementsByClassName("title");for (i = 0; i < titles.length; i++) {var link = titles[i].children[0];if (link)link.href = link.href + "l" + search_r###lt_latest_floors;}}}if (location.href.match("https://www.logsoku.com/r/")) {$("div.comment").each(function() {if ($(this).find("a[href^='http://l.moapi.net/'], img").length === 0)$(this).parent().hide();else$(this).parent().show();});var links = document.links;for (j = 0; j < links.length; j++) {links[j].href = links[j].href.replace("http://l.moapi.net/", "");if (links[j].innerHTML.match(/.\.(jpg|jpeg|gif|png|JPG|JPEG|GIF|PNG)(:orig)?$/)) {var img = document.createElement("img");if (links[j].innerHTML.match(/\w*:?\/\//))img.src = links[j].innerHTML.replace(/\w*:?\/\//, "http://");elseimg.src = "http://" + links[j].innerHTML;img.style.display = "none";img.onload = resize;if (click_to_hide_image)img.onclick = function() {this.style.display = "none";};if (popup_enable) {var container = document.createElement("div");container.style.display = "inline";container.onmouseover = function() {this.children[0].style.display = "inline";};container.onmouseout = function() {this.children[0].style.display = "none";};container.appendChild(img);}links[j].parentNode.replaceChild(container, links[j]);j--;}}//pc_filter_comments();//    var filter_menu = $("<li>", {class:"dropdown open filter"});//    var innerHTML = "<a href='#' class='dropdown-toggle'>过滤<b class='caret'></b></a>";//    innerHTML += "<ul class='dropdown-menu filter-menu' style='display:none'>";//    innerHTML += "<li id='all_comments'><a>全部</a></li><li class='divider'></li>";//    innerHTML += "<li id='all_comments_hide_images'><a>不显示图片</a></li><li class='divider'></li>";//    innerHTML += "<li id='only_reply_and_links'><a>只含回复及链接</a></li><li class='divider'></li>";//    innerHTML += "<li id='only_links_and_images'><a>只含链接及图片</a></li><li class='divider'></li>";//    innerHTML += "<li id='only_images'><a>只含图片</a></li> </ul>";//    filter_menu.html(innerHTML);//    filter_menu.insertBefore($("ul.nav>li:last-child"));//    var filter_clicked = function (filter) {//	localStorage.filter = filter;//	filter_comments();//    }////    $("li.filter>a").click(function() {//	$(this).next().toggle();//    });//////    $("ul.filter-menu").on("click", "li", filter_comments);$(".thread-nav>div").append($("<div>", {class: "icheckbox_line-grey",text: "只打开图片",click: openImages,style: "width:120px"}));var nav = document.getElementsByClassName("thread-nav")[0].children[0];if (nav) {var base = nav.children[2].href;nav.children[3].href = base + "l" + latest_floors;for (i = 0; i < 1000 / contain_floores; i++) {var link = document.createElement("a");var range = String(i * contain_floores + 1) + "-" + String((i + 1) * contain_floores);link.href = base + range;link.innerHTML = range;link.className = "nav-btn";nav.appendChild(link);}}var hide_name = true;if (hide_name) {var names = document.querySelectorAll("span.nem, span.em");for (i = 0; i < names.length; i++) {names[i].style.display = "none";names[i].nextSibling.replaceData(0, 3, "");colon_pos = names[i].previousSibling.text.indexOf(":");names[i].previousSibling.replaceData(colon_pos + 1, 1, "");}}var comments = document.getElementsByClassName("comment");for (i = 0; i < comments.length; i++) {var id = comments[i].previousSibling.previousSibling.text;if (localStorage.blacklist_ids.indexOf(id) >= 0) {comments[i].parentNode.style.display = "none";}console.log(localStorage.blacklist_ids);var hide_id = document.createElement("span");hide_id.innerHTML = "&nbsp;(block this ID'comemnts)";hide_id.style.color = "#666";hide_id.style.cursor = "pointer";hide_id.onclick = function() {localStorage.blacklist_ids += id + " ";this.parentNode.style.display = "none";};comments[i].parentNode.insertBefore(hide_id, comments[i]);}var search_box = document.getElementsByClassName("top-search-box").parentNode;var black_list = document.createElement("li");var black_list_link = document.createElement("a");black_list_link.onclick = function() {this.previousSibling.style.display = "inline";};var black_list_text = document.createElement("span");black_list_text.innerHTML = "black list";black_list_link.appendChild(black_list_text);search_box.appendChild(black_list_link);// draw black list configuration boardvar black_list_configuration = document.createElement("div");black_list_configuration.style.textAlign = "center";var close = document.createElement("a");close.innerHTML = "&#10006;&times;";close.style.cssText = "float:right; padding:3px; border:1px #666 solid";close.onclick = function() {this.parentNode.style.display = "inline";};black_list_configuration.appendChild(close);var text = document.createElement("span");text.innerHTML = "IDs in the black list(seperate by space):";black_list_configuration.appendChild(text);var textarea = document.createElement("textarea");textarea.innerHTML = localStorage.blacklist_ids;textarea.id = "blacklist_ids";black_list_configuration.appendChild(textarea);var text = document.createElement("span");text.innerHTML = "Contents in the black list(seperate by new line):";black_list_configuration.appendChild(text);var textarea = document.createElement("textarea");textarea.innerHTML = localStorage.blacklist_contents;textarea.id = "blacklist_contents";black_list_configuration.appendChild(textarea);var close = document.createElement("a");close.innerHTML = "save";close.style.cssText = "padding:3px; border:1px #666 solid";close.onclick = function() {var input = document.getElementById("blacklist_ids");localStorage.blacklist_ids = input.nodeValue;input = document.getElementById("blacklist_contents");localStorage.blacklist_contents = input.nodeValue;this.parentNode.style.display = "none";};black_list_configuration.appendChild(close);}function resize() {var w = this.naturalWidth;var h = this.naturalHeight;var width = this.naturalWidth * percent;var height = this.naturalHeight * percent;height = height > image_max_height ? image_max_height : height;height = height < image_min_height ? image_min_height : height;width = height * w / h;width = width > image_max_width ? image_max_width : width;width = width < image_min_width ? image_min_width : width;height = width * h / w;height = height > image_max_height ? image_max_height : height;height = height < image_min_height ? image_min_height : height;width = height * w / h;this.width = width;this.height = height;this.style.display = "block";//insert popup imageif (popup_enable) {var popup_img = document.createElement("img");width = w;height = h;var clientWidth = document.body.clientWidth;var clientHeight = document.body.clientHeight;if (height > clientHeight) {heigth = clientHeight;width = clientHeight * w / h;}if (width > clientWidth) {width = clientWidth;height = clientWidth * h / w;if (height > clientHeight) {heigth = clientHeight;width = clientHeight * w / h;}}popup_img.heigth = height;popup_img.width = width;popup_img.src = this.src;popup_img.style.zIndex = 2;popup_img.style.position = "fixed";popup_img.style.left = "0px";popup_img.style.top = "0px";popup_img.style.display = "none";//popup_img.onmouseout = function() { this.style.display = "none"};//var download = document.createElement("a");//download.setAttribute("download", "");//download.appendChild(popup_img);this.parentNode.insertBefore(popup_img, this);this.parentNode.heigth = height;this.parentNode.width = width;}}function openImages() {var images = "";for (var i = 0; i < $(".comment img").length; i++) {images += "<img  style='width:inherit'  src='" + $(".comment img")[i].src + "'><br>";}var images_window = window.open("", "images", "width=240, height=100");var message = "<div unselectable='on' style='user-select:none' selectstart='return false;'>Please press Ctrl+A.<br>Then Press Ctrl+C.<br>Because browser not allow script to copy images to clipboard. </div>";images_window.document.write(images);}jQuery.fn.disableSelection = function() {return this.attr('unselectable', 'on').css('user-select', 'none').on('selectstart', false);};//@ sourceURL=2ch.js