maddawgjav.net排版脚本

maddawgjav.net网站重新排版,浏览图片内容更方便,你懂的

当前为 2016-01-04 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         maddawgjav.net排版脚本
// @namespace    http://greasyfork.org/zh-CN/users/25794
// @version      1.2.0
// @description  maddawgjav.net网站重新排版,浏览图片内容更方便,你懂的
// @author       Hobby
// @require      http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.4.min.js
// @include      http://www.imagebam.com/image/*?url=maddawgjav.net
// @match        http://maddawgjav.net/*
// @grant        GM_xmlhttpRequest

// 交流QQ群:273406036 
// 内地用户推荐Chrome + XX-Net(代理) + Proxy SwitchyOmega(扩展)的环境下配合使用。
// v1.2.0 修改内容大图显示加载方式,当点击内容大图时才实时加载并显示出大图。
// v1.1.0 性能优化,加载速度大幅提升。
// v1.0.0 针对maddawgjav.net网站的支持,支持方便浏览图片

// ==/UserScript==
/* jshint -W097 */
'use strict';

// 获取全域名
function getHostName(url) {
    var e = new RegExp('^(?:(?:https?|ftp):)/*(?:[^@]+@)?([^:/#]+)'), matches = e.exec(url);
    return matches ? matches[1] : url;
}
// 获取后缀域名
function getLastName(webName) {
    var array = webName.split(".");
    if(array.length === 3){
        var a = webName.indexOf('.');
        var lastName = webName.substring(a + 1, webName.length);
        return lastName;
    }
    else if(array.length === 2){
        return webName;
    }
}

//添加 CSS 样式
function addGlobalStyle(css) {
    var head, style;
    head = document.getElementsByTagName('head')[0];
    if (!head) { return; }
    style = document.createElement('style');
    style.type = 'text/css';
    style.innerHTML = css;
    head.appendChild(style);
}
//addGlobalStyle('p { font-size: large ! important; }');

function urlfilename(a) {
    var n1 = a.lastIndexOf('/') + 1;
    var n2 = a.lastIndexOf('.');
    a = a.substring(n1, n2);
    return a;
}

function urljpgid(a) {
    var n1 = a.lastIndexOf('/');
    var n2 = a.lastIndexOf('/')-9;
    a = a.substring(n1, n2);
    return a;
}

function showImg2(i){
    url = i.src;
    width = 1280;
    height = 2691;
    var imgid = Math.random(),
        frameid = 'frameimg' + imgid;
    unsafeWindow['img'+imgid] = '<img id="img" src=\''+url+'?hobby\' />' +
        '<script>window.onload = function() {' +
        ' parent.document.getElementById(\''+frameid+'\').height = document.getElementById(\'img\').height+\'px\'; ' +
        ' parent.document.getElementById(\''+frameid+'\').width = document.getElementById(\'img\').width+\'px\'; ' +
        '}<'+'/script>';
    img_r = '<iframe id="'+frameid+'" src="javascript:parent[\'img'+imgid+'\'];" width="'+width+'" height="' +height+ '" frameBorder="0" scrolling="no" border="0" marginwidth="0" marginheight="0"></iframe>';
    $(i).replaceWith(img_r);
}

//删除帖子的第一张缩略图
//param i:指定图片集合
function delTOneImg(array){
    //帖子第一张主题图片集合
    var img_t_array = array;
    //帖子的第一张缩略图删除
    for (var index = 0; index < img_t_array.length; index++) {
        var img_t = img_t_array[index];
        //debugger;
        //主题图片靠左排版
        $(img_t).css('float','left');
        //帖子的第一张缩略图删除
        $(img_t.nextElementSibling.nextElementSibling).remove();
    }
}

//图片的完全加载完才执行的图片宽度设置
document.addEventListener("DOMContentLoaded",function(){
    var img_array = $("img[p[style='text-align: left;'] img]");
    for (var index = 0; index < img_array.length; index++) {
        var img = img_array[index];
        //debugger;
        $(img).css("width",img.width);
        //备份width
        img.name = img.width;
    }
});


//debugger;
var location = unsafeWindow.document.location;

//子级iframe判断是否约定的Url
if(typeof(location)!== "undefined" && location.href.indexOf('?url=maddawgjav.net') > -1){

    var jpg_id = urljpgid(location.pathname);
    var $jpg_id = $("#i"+jpg_id);
    var img_src = $jpg_id.attr("src");
    var img_pEle = $jpg_id[0].parentElement;
    //$jpg_id.remove();
    //debugger;
    $jpg_id.attr("src","http://maddawgjav.net/wp-content/themes/zbench.1.2.3/zbench/images/search-input-bg.gif");

    var $iframe = $(document.createElement("IFRAME"));  
    $iframe.attr("width", "0");  
    $iframe.attr("height", "0");
    //将问号后的.转换成%%  然后载入iframe的地址
    $iframe.attr("src", "http://maddawgjav.net/wp-login.php?"+img_src.replace(/\./g,"%%"));

    $(img_pEle).append($iframe);
}
//子级iframe的子级iframe判断是否约定的Url
else if(typeof(location)!== "undefined" && location.href.indexOf('maddawgjav.net/wp-login.php') > -1){
    var jpg_id = urljpgid(location.search);
    var av_cd =$('#href'+jpg_id, window.parent.parent.document).get(0).parentElement.avcd;
    var av_name = $('#href'+jpg_id, window.parent.parent.document).get(0).parentElement.av_name;
    var href = location.search.substring(1,location.search.length).replace(/\%\%/g,".");
    $('#img'+jpg_id, window.parent.parent.document).attr("src",href );//"http://imagetwist.com/error.jpg?" +  + '??$@' + av_cd + "?$@" + av_name

    var $hobbyimgN = $($('#href'+jpg_id, window.parent.parent.document).get(0).firstElementChild);
    //debugger;
    //$hobbyimgN.src = href;
    $iframe = $('#iframe'+jpg_id, window.parent.parent.document);
    $iframe.attr("src", "");//释放资源
    //$iframe.attr("src", "http://maddawgjav.net/wp-content/themes/zbench.1.2.3/zbench/images/search-input-bg.gif?" + href);        
}
else{
    //debugger;
    $("#sidebar-border").insertBefore("#content");

    $("#sidebar-border").css('position','absolute');
    //覆盖原有css样式
    addGlobalStyle('#wrapper {overflow: hidden;margin: 0;width: initial;}');
    addGlobalStyle('#content {overflow: hidden;float: left;width: initial;padding: 0;margin-left: 300px;}');

    //删除帖子的第一张缩略图
    delTOneImg($("img[class='alignnone']"));
    delTOneImg($("img[class='alignnone aligncenter']"));


    //所有div帖子
    var div_tz_array = $("div[id^='post-']");
    for (var index = 0; index < div_tz_array.length; index++) {
        var div = div_tz_array[index];
        $(div).css('width','initial');
    }


    //所有p标签的文字
    var p_tz_array = $("p[style='text-align: center;']");
    for (var index = 0; index < p_tz_array.length; index++) {
        var p = p_tz_array[index];
        $(p).css('text-align','left');
    }


    var img_array = $("p[style='text-align: left;'] img");
    for (var index = 0; index < img_array.length; index++) {
        //TODO:foreach:2
        var img = img_array[index];
        var web_name = getHostName(img.src);
        var lastName = getLastName(web_name);
        //img元素没有title属性值时执行
        //if(typeof($(img).attr("title")) == "undefined" ){
        //    $(img).css("width","100px");
        //}

        $(img).css("max-width","none");
        //图片靠左排版
        $(img).css('float','left');
        //备份width
        img.name = "100";



        if (lastName === 'imagebam.com') {
            //TODO:javbest:imagebam.com
            var jpg_name = urlfilename(img.src);
            var jpg_id = jpg_name.substring(jpg_name.length-9,jpg_name.length);
            var url = 'http://www.imagebam.com/image/' + jpg_name ;// + "??$@" + av_cd + "?$@" + av_name
            //img.parentElement.href = url;
            img.parentElement.id = "href"+ jpg_id;
            img.id = "img"+ jpg_id;

            $(img.parentElement).attr("name",url);
            $(img.parentElement).removeAttr("href");
            $(img.parentElement).click( function () {
                //debugger;
                GM_xmlhttpRequest({
                    method: "GET",
                    url: this.name,
                    headers: {
                        "User-Agent": "Mozilla/5.0", // If not specified, navigator.userAgent will be used.
                        "Accept": "text/xml" // If not specified, browser defaults will be used.
                    },
                    onload: function(response) {
                        //alert("1111");
                        var bodyStr = response.responseText;
                        var new_img_src = bodyStr.substring(bodyStr.indexOf('<meta name="twitter:image" content="') + 36,bodyStr.indexOf('<meta name="twitter:url" content="')-9);
                        var n1 = new_img_src.lastIndexOf('/');
                        var n2 = new_img_src.lastIndexOf('/')-9;
                        var imgId = new_img_src.substring(n1, n2);
                        var img = document.getElementById('img'+ imgId);

                        debugger;

                        //重新插入img新标签,在原img的后面
                        img.insertAdjacentHTML('beforeBegin', '<img id="imgN'+ imgId +'" src="'+ new_img_src +'" style="max-width: none; float: left;">');
                        //删除原img标签
                        img.parentNode.removeChild(img);

                        var imgN = document.getElementById('imgN'+ imgId);
                        //新img标签增加onclick事件
                        imgN.onclick = function(event){
                            //debugger;
                            event = event || window.event;
                            //屏蔽到外部的onclick事件
                            event.cancelBubble = true;

                            if(this.style.width !== ''){ 
                                this.style.maxWidth = "none";;
                                this.style.width = "";
                            }
                            else{
                                //chrome浏览器必须使用100px才生效
                                this.style.width = "100px";
                            }
                        };
                    }
                });
            });
        }
        else if(lastName === 'pixhost.org'){
            img.src = img.src.replace('thumbs','images').replace('t7','img7');
            showImg2(img);
        }
    }        
}