同屏显示多图微博的全部大图。
当前为
// ==UserScript==
// @name 微博图片全显示
// @namespace hzhbest
// @include http://weibo.com/*
// @description 同屏显示多图微博的全部大图。
// @version 1.1
// @grant none
// ==/UserScript==
(function() {
// http://weibo.com/2710065263/BmxiVDCgt?from=page_1005052710065263_profile&wvr=6&mod=weibotime&type=comment#_rnd1436436058420
// http://weibo.com/2328516855/CnYCvixUq?type=comment#_rnd1436493435761
var regex = new RegExp('weibo\\.com\\/\\d{10}\\/[a-z0-9A-Z]{9}\\?');
var _init = -1;
// window.addEventListener('load', function(){if (regex.test(document.location.href)) {setTimeout(init, 3000);}}, false);
if (regex.test(document.location.href)) {setTimeout(init, 3000);}
function init(){
var box = getElementsByClass("WB_media_wrap", 'div')[0];
// if (!box && _init < 0) {setTimeout(init, 3000); _init += 1; return;}
var imgthumbs = box.getElementsByTagName('img');
var imgsrc = [], imgs = [], imgl = imgthumbs.length;
var expbox = getElementsByClass("WB_expand_media_box", 'div')[0];
// Insert CSS
var headID = document.getElementsByTagName("head")[0];
var cssNode = creaElemIn('style', headID);
cssNode.type = 'text/css';
cssNode.innerHTML = '.big_pic{max-width: 890px;} .WB_frame_c {width: auto !important; max-width: 920px; min-width: 600px;} .WB_text.W_f14, .WB_text{width: 520px;} .media_box{display: none !important;}';
for (var i = 0; i < imgl; i++) {
if (/\/square\//.test(imgthumbs[i].src)) { // http://ww1.sinaimg.cn/square/c0788b86gw1etxemfiltjj20go0gowf8.jpg
imgsrc[i] = imgthumbs[i].src.replace("/square/", "/large/");
} else if (/\/thumbnail\//.test(imgthumbs[i].src)) { // http://ww3.sinaimg.cn/thumbnail/bfc243a3gw1etx3ffxyhvg206y03ukjm.gif
imgsrc[i] = imgthumbs[i].src.replace("/thumbnail/", "/large/");
} else {
continue;
}
imgs[i] = creaElemIn('img', box);
creaElemIn('br', box);
imgs[i].src = imgsrc[i];
imgs[i].className = "big_pic";
}
box.style = "";
expbox.style = "display: none;";
}
// Create an element
function creaElemIn(tagname, destin) {
var theElem = destin.appendChild(document.createElement(tagname));
return theElem;
}
function getElementsByClass(cName ,tagName){
var elements = tagName ? document.getElementsByTagName(tagName) : document.getElementsByTagName('*');
var findEles = [];
var reg = new RegExp('^'+cName+'\\s*|\\s+'+cName+'\\s+|\\s+'+cName+'$');
for(var i=0;i<elements.length;i++) {
if(reg.test(elements[i].className))findEles.push(elements[i]);
}
return findEles;
}
})();