5ちゃんねるの画像をサムネイル表示する。
当前为
// ==UserScript==
// @name 5ch_thumb_view
// @namespace http://catherine.v0cyc1pp.com/5ch_thumb_view.user.js
// @include http://*.5ch.net/*
// @include https://*.5ch.net/*
// @include http://*.bbspink.com/*
// @include https://*.bbspink.com/*
// @author greg10
// @run-at document-end
// @license GPL 3.0
// @version 0.4
// @require http://code.jquery.com/jquery-3.2.1.min.js
// @grant none
// @description 5ちゃんねるの画像をサムネイル表示する。
// ==/UserScript==
console.log("5ch_thumb_view start");
function main() {
$("a").each( function() {
var thiselem = $(this);
var str = $(this).text();
if ( $(this).attr("myloaded") === "done" ) {
return;
}
$(this).attr("myloaded", "done");
var result = str.match( /(\/\/.*(.jpg|.jpeg|.png|.gif|.bmp|.webp))$/i );
if ( result === null ) {
return;
}
console.log(".jpg or image matched");
/* 二つhttps化したところで焼け石に水だった。ブラウザ上部をsecure状態にするにはコンテンツ全て100%のhttps化が必要。
// https優先
str = str.replace( /http:\/\/i\.imgur\.com\//, "https://i.imgur.com/");
str = str.replace( /http:\/\/pbs\.twimg\.com\/media\//, "http://pbs.twimg.com/media/");
*/
//str = str.replace( /http:\/\//, "https:\/\/");
var link2img = $("<a/>", {
href: str,
// 別タブか、同一タブかは好みが分かれるので、保留。
// →別ドメインのリンクは別タブで開くのが普通なので、_blank化。
target: '_blank',
myloaded: 'done'
});
var elem_p = $("<p/>");
var img = $("<img />", {
src: str,
border: '1px',
width: '100px'
});
thiselem.after(elem_p);
elem_p.after(link2img);
link2img.append(img);
});
}
main();
var observer = new MutationObserver(function(mutations) {
observer.disconnect();
main();
observer.observe( document, config);
});
var config = { attributes: false, childList: true, characterData: false, subtree:true };
observer.observe( document, config);