maddawgjav.net排版脚本

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

目前为 2016-03-26 提交的版本。查看 最新版本

// ==UserScript==
// @name         maddawgjav.net排版脚本
// @namespace    http://gf.qytechs.cn/zh-CN/users/25794
// @version      2.0.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(扩展)的环境下配合使用。

// v2.0.0 重大更新!!增加快捷查找女优番号、女优名的常用外链网站的跳转地址。收藏内容的效率,谁用谁知道!
// v1.2.8 内容大图增加鼠标点击提示效果
// v1.2.7 针对内容大图来自pixhost.org网站做统一展示及统一操作习惯
// v1.2.6 增加脚本适应兼容性,解决目前发现脚本失效问题
// v1.2.5 修复了部分页面出现异常导致插件失效问题
// v1.2.4 修改了网站代码更新导致插件失效的问题
// v1.2.3 做了最低分辨率1280x800的排版适配调整,及修复发现的bug
// v1.2.2 增加放大图片后关闭内容大图,自动定位到下一个帖子的封面大图上,增加自动一次性批量加载页面所有内容大图。
// v1.2.1 做了一些细节排版调整和优化
// v1.2.0 修改内容大图显示加载方式,当点击内容大图时才实时加载并显示出大图。
// v1.1.0 性能优化,加载速度大幅提升。
// v1.0.0 针对maddawgjav.net网站的支持,支持方便浏览图片

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

//过滤文字单词的数组
var filterWordsArray = new Array(
	'H0930','C0930','ガチん娘!','HEYZO','Muramura','一本道','Pacopacomama','天然むすめ','カリビアンコム プレミアム','カリビアンコム','PPV','Real Street Angels','41Ticket',
    'GALAPAGOS','Mesubuta','1000人斬り','Tokyo Hot','AV志向','アジア天国','キャットウォーク ポイズン','G-AREA','Honnamatv','ABBY','エッチな4610','Zipang','Real-diva','H4610',
    '金8天国','av9898','エッチな4610','エッチな0930','15-daifuku','Mywife-No','ハメる','The 変態','人妻斬り','娘姦白書','1919gogo','HEYZO','HEYZO','HEYZO','HEYZO',
    '\\[FHD\\]','\\[HD\\]'
);

// 过滤文字单词函数
// param srcString 需过滤字符串
// retunr 过滤后的字符串
function filterWords(srcString){
    for(var i = 0; i < filterWordsArray.length ; i ++){
        srcString = srcString.replace(new RegExp(filterWordsArray[i],'ig'),"");
    }
    return srcString;
}

// 创建查找av番号的外链html内容元素P
// param avCode av番号
// return 外链html内容元素P
function crtOutLink(avCode){
    var p = $(
        '<p style="text-align: center;color: blue;">'+
        '他站查找 ['+ avCode +']:'+
        '<a target="_blank" href="http://javbest.net/?s='+ avCode +'" title="搜'+ avCode +'" style="text-align: center;color: red;text-decoration: underline;">javbest</a>&nbsp;&nbsp;&nbsp;&nbsp;'+
        '<a target="_blank" href="http://javpop.com/index.php?s='+ avCode +'" title="搜'+ avCode +'" style="text-align: center;color: red;text-decoration: underline;">javpop</a>&nbsp;&nbsp;&nbsp;&nbsp;'+
        '留种: '+
        '<a target="_blank" href="http://www.btaia.com/search/'+ avCode +'" title="搜'+ avCode +'" style="text-align: center;color: red;text-decoration: underline;">btaia</a>&nbsp;&nbsp;&nbsp;&nbsp;'+
        '<a target="_blank" href="http://sukebei.nyaa.se/?page=search&amp;cats=0_0&amp;filter=0&amp;term='+ avCode +'" title="搜'+ avCode +'" style="text-align: center;color: red;text-decoration: underline;">sukebei.nyaa</a>'+
        '</p>'
    )[0];
    return p;
}

// 创建查找av女优的外链html内容元素P
// param womenName av女优名
// return 外链html内容元素P
function crtOutLinkByName(womenName){
    var p = $(
        '<p style="text-align: center;">'+
        '<a style="text-align: center;color: blue;text-decoration: none;">查找 ['+ womenName +']:</a>'+
        '<a target="_blank" href="http://maddawgjav.net/?s='+ womenName +'" title="搜'+ womenName +'" style="text-align: center;color: red;text-decoration: underline;" rel="noreferrer">maddawjav</a>&nbsp;&nbsp;&nbsp;&nbsp;'+
        '<a target="_blank" href="http://javbest.net/?s='+ womenName +'" title="搜'+ womenName +'" style="text-align: center;color: red;text-decoration: underline;">javbest</a>&nbsp;&nbsp;&nbsp;&nbsp;'+
        '<a target="_blank" href="http://javpop.com/index.php?s='+ womenName +'" title="搜'+ womenName +'" style="text-align: center;color: red;text-decoration: underline;">javpop</a>&nbsp;&nbsp;&nbsp;&nbsp;'+
        '<a style="text-align: center;color: blue;text-decoration: none;">查种:</a>'+
        '<a target="_blank" href="http://www.btaia.com/search/'+ womenName +'" title="搜'+ womenName +'" style="text-align: center;color: red;text-decoration: underline;">btaia</a>&nbsp;&nbsp;&nbsp;&nbsp;'+
        '<a target="_blank" href="http://sukebei.nyaa.se/?page=search&amp;cats=0_0&amp;filter=0&amp;term='+ womenName +'" title="搜'+ womenName +'" style="text-align: center;color: red;text-decoration: underline;">sukebei.nyaa</a>'+
        '</p>'
    )[0];
    return p;
}

// 获取全域名
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;
}

// 用于显示目标图片为防盗链图片的图片显示方法Hotlink
// param rawImg 原图对象
// param rawImgW 原图宽度
// param rawImgH 原图高度
// param targetImgUrl 目标图url
function showHotlinkImg(rawImg , rawImgW , rawImgH , targetImgUrl){
    var imgid = Math.random();
    var frameid = 'frameimg' + imgid;
    unsafeWindow['img'+imgid] = '<img id="img" name="' + rawImgW +','+rawImgH +'" src="'+targetImgUrl+'?hobby" style="max-width: none; float: left; clear: none;" title="点击可放大缩小 (图片正常时)"/>' +
        '<script>window.onload = function() {' +
                'var p_ifame = parent.document.getElementById(\''+frameid+'\');'+
                'var img = document.getElementById(\'img\');'+
                'p_ifame.name = img.width+\',\'+img.height; '+
                'img.style.width = '+ rawImgW +'+"px";'+
                'img.style.height = '+ rawImgH +'+"px";'+
                //新img标签增加onclick事件
                'document.getElementById(\'img\').onclick = function(event){'+
                    //debugger;
                    'event = event || window.event;'+
                    //屏蔽到外部的onclick事件
                    'event.cancelBubble = true;'+

                    //debugger;
                    'var p_ifame = parent.document.getElementById(\''+frameid+'\');'+
                    //判断如果当前为关闭,需要展开
                    'if(this.getAttribute("openFlag") !== \'1\'){ '+
                        'p_ifame.style.maxWidth = "none";'+
                        'p_ifame.style.width = p_ifame.name.split(",")[0]+"px";'+
                        'p_ifame.style.height = p_ifame.name.split(",")[1]+"px";'+
                        'p_ifame.style.clear = "both";'+
                        //img的宽度设置                                         
                        'this.style.width = "";'+
                        'this.style.height = "";'+        
                        //设置打开标识为1,已打开状态
                        'this.setAttribute("openFlag","1");'+   
                    '}'+
                    //当前展开,需要关闭
                    'else{'+
                        //chrome浏览器必须使用100px才生效
                        'p_ifame.style.width = '+ rawImgW +'+"px";'+
                        'p_ifame.style.height = '+ rawImgH +'+"px";'+
                        'p_ifame.style.clear = "none";'+
                        //img的宽度设置                                         
                        'this.style.width = '+ rawImgW +';'+
                        //设置打开标识为0,未打开状态
                        'this.setAttribute("openFlag","0");'+ 
                        //跳到标题的锚点
                        //location.href = "#h-" + this.parentElement.parentElement.parentElement.nextElementSibling.id;
                        //debugger;
                    '}'+
                '};'+ //end onclick事件
        '}<'+'/script>';
    var targetImgIframe = '<iframe id="'+frameid+'" src="javascript:parent[\'img'+imgid+'\'];" frameBorder="0" scrolling="no" border="0" marginwidth="0" marginheight="0" style="max-width: none; float: left; clear: none;width:' + rawImgW +'px; height:' + rawImgH +'px;"></iframe>';
    $(rawImg).replaceWith(targetImgIframe);
}

//删除帖子的第一张缩略图
//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');
        //帖子的第一张缩略图删除
        try{
            $(img_t.nextElementSibling.nextElementSibling).remove();
        }catch(e){}
    }
}

//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", "");//释放资源       
}
else{
    //debugger;
    $("#sidebar-border").insertBefore("#content");

    $("#sidebar-border").css('position','absolute');
    //覆盖原有css样式
    addGlobalStyle('#wrapper {overflow: hidden;margin: 0;width: initial;}');
    addGlobalStyle('#sidebar-border {position: relative;float: left;width: 220px;background: #f2f2f2;border: 1px solid #ccc;}');
    addGlobalStyle('#sidebar {overflow: hidden;width: 220px;border: 1px solid #fff;padding: 0px;}');
    addGlobalStyle('#content {overflow: hidden;float: left;width: initial;padding: 0;margin-left: 223px;}');
    addGlobalStyle('.entry img {height: auto;margin: auto;padding: 4px;background: #fff;border: 1px solid #ddd;}');
    addGlobalStyle('.entry p {margin: 0 0 5px 0;}');

    //所有p标签的文字
    var p_tz_array = $("p[style='text-align: center']");
    var p_tz_array_2 = $("p[style='text-align: center;']");
    //debugger;
    for (var index = 0; index < p_tz_array.length; index++) {
        var p = p_tz_array[index];
        $(p).css('text-align','left');
    }
    for (var index = 0; index < p_tz_array_2.length; index++) {
        var p2 = p_tz_array_2[index];
        $(p2).css('text-align','left');
    }
    
    //上一页下一页默认弹出新页签处理
    var div_a_array = $("div[id='pagination'] a");
    //debugger;
    for (var index = 0; index < div_a_array.length; index++) {
        var page_a = div_a_array[index];
        $(page_a).attr('target','_blank');
    }    
    
    //所有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');
        $(div).find("img[class='alignnone']").parent("p[style='text-align: center;']").attr("id","h-"+div.id);
        $(div).find("img[class='alignnone aligncenter']").attr("id","h-"+div.id);

        //$(div).find("img[class='alignnone']").
        //debugger;
        // 获取文章的标题文字
        var titleStr = $(div).find("div[class='entry'] p[style='text-align: left;']")[0].innerHTML;
        // 过滤文字
        titleStr = filterWords(titleStr);
        // 获取av番号
        var code = titleStr.split(" ")[0];
        // 将外链元素P插入帖子div元素内最后面
        if(code !== ""){
            $(div).append(crtOutLink(code));
        }
        else{
            $(div).append(crtOutLink(titleStr.split(" ")[1]));
        }
        
        // 如果存在文章内容
        if($(div).find('p:contains(出演者:)').length > 0){
            // 获取包含女优名称的文章内容的P元素
            var tz_content_p = $(div).find('p:contains(出演者:)')[0];
            // 获取此P元素的文本
            var tz_content = tz_content_p.innerHTML;
            // 从P元素的文本中截取文章的女优名字
            var names = tz_content.substring(tz_content.indexOf('出演者: ') + 5,tz_content.indexOf('監督: ')).split("<br>")[0];
            //debugger;
            // 将创建的外链元素P插入到文章内容的P元素的前面
            if(names !== '—-'){
                $(tz_content_p).before(crtOutLinkByName(names.split(" ")[0]));
            }
        }
    }

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

    //所有p标签内图片
    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).attr("href","javascript:void(0);");
        }
        else if(lastName === 'pixhost.org'){
            $(img.parentElement).attr("href","javascript:void(0);");
            $(img.parentElement).attr("name",img.src.replace('thumbs','images').replace('t7','img7'));
            //img.src = img.src.replace('thumbs','images').replace('t7','img7');
            //showImg2(img);
        }  
    }

    //所有内容大图数组对象
    var dimg_array = $("p[style='text-align: left;'] a img");
    for (var index = 0; index < dimg_array.length; index++) {
        //内容大图对象
        var dimg = dimg_array[index];
        //文章内容的DIV对象
        var div = $(dimg).parents('.entry')[0];
        //将dimg的父元素a整个追加到div元素内的最后(相当于移动),实现的效果是内容大图都排在了文章文字的后面
        $(div).append(dimg.parentElement);
    }

    //实现判断N个图片加载完毕逻辑
    var imgdefereds=[];
    $("div[class='entry'] a img").each(function(){
        var dfd=$.Deferred();
        $(this).bind('load',function(){
            dfd.resolve();
        }).bind('error',function(){
            //图片加载错误,加入错误处理
            dfd.resolve();
        })
        if(this.complete) setTimeout(function(){
            dfd.resolve();
        },500);//500毫秒
        imgdefereds.push(dfd);
    })
    //对所有内容大图的缩略图,增加加载完毕后处理的事件
    $.when.apply(null,imgdefereds).done(function(){
        var dimg_array = $("div[class='entry'] a img");
        for (var index = 0; index < dimg_array.length; index++) {
            var dimg = dimg_array[index];
            //设置为原有小图的宽度
            dimg.name = dimg.width+','+dimg.height;
            
            
            if(dimg.parentElement.name.indexOf('pixhost.org') > -1){
                var targetUrl = dimg.src.replace('thumbs','images').replace('t7','img7');
                showHotlinkImg(dimg,dimg.width,dimg.height,targetUrl);
                //showImg2(dimg);                
            }
            else{
                //跨域名请求调用大图访问地址
                GM_xmlhttpRequest({
                    method: "GET",
                    //大图地址
                    url: dimg.parentElement.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 +'" name="'+ img.name +'" style="width:'+ img.name.split(",")[0] +'px;max-width: none; float: left;clear:none;" title="点击可放大缩小 (图片正常时)">');
                        //删除原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;

                            //debugger;
                            //判断如果当前为关闭,需要展开
                            if(this.style.width !== ''){ 
                                this.style.maxWidth = "none";
                                this.style.width = "";
                                this.style.clear = "both";
                            }
                            //关闭
                            else{
                                //chrome浏览器必须使用100px才生效
                                this.style.width = this.name.split(",")[0]+"px";
                                this.style.clear = "none";
                                //跳到标题的锚点
                                location.href = "#h-" + this.parentElement.parentElement.parentElement.nextElementSibling.id;
                                //debugger;
                            }
                        }; //end onclick事件
                    }
                });//end  GM_xmlhttpRequest
            }// end else
        }
    });
}

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址