// ==UserScript== // @name tieba page // @namespace http://tampermonkey.net/ // @version 0.53 // @author fthvgb1 // @match https://tieba.baidu.com/* // @grant none // @description 显示手机版贴吧里被隐藏的楼层与翻页按钮 // ==/UserScript== (function () { 'use strict'; function gif3(v) { var imgs = v.querySelectorAll('img.BDE_Image'); if (imgs.length > 0) { imgs.forEach(img => { var src = img.src; var s = /&src=(.*)/.exec(src); if (s != null) { var x = s.length > 0 ? s[1] : src; img.src = decodeURIComponent(x); } }) } } function gif(v) { var imgs = v.querySelectorAll('div[data-class="BDE_Image"]'); if (imgs.length > 0) { imgs.forEach(value => { var src = decodeURIComponent(value.getAttribute('data-url')); //console.log(src); var s = /&src=(.*)/.exec(src); if (s != null) { var ss = s[1]; var img = document.createElement('img'); img.src = (ss); img.className = 'BDE_Image'; value.outerHTML = img.outerHTML; } }) } gif3(v) } function t() { lz(); $("ul#pblist>li").forEach(function (e, iii) { f(e); if (iii === 0) { var oo = e.querySelectorAll('.pb_img_item'); if (oo.length > 0) { oo.forEach(value => { if (value.getAttribute('data-url')) { value.setAttribute('data-class', 'BDE_Image'); value.setAttribute('src', value.getAttribute('data-url')); } }); //oo[0].parentElement.outerHTML=`${oo[0].parentElement.innerHTML}` } var zz = e.querySelector('#diversBanner'); if (zz) { zz.parentNode.removeChild(zz); } } gif(e); var ee = $(e); var tid = ee.attr("tid"); var content = ee.find(".list_item_top"); var x = ee.find('.list_item_top a.j_report_btn'); if (x && x.length > 0) { var kz = x[0].href.match(/tid=(\d+)&/); kz = kz[1]; } var floor = e.getElementsByClassName('pb_floow_load'); if (floor.length > 0) { var text = floor[0].textContent; var url = `https://tieba.baidu.com/t/p/${tid}`; var num = parseInt(text.match(/\d+/)); content.append(`
查看剩余` + num + `条回复
`); var res = content.find('a.reply'); var orgnum = num; //console.log(content,res); if (res) { res.forEach(function (v, i) { var page = 2; v.addEventListener('click', function () { var that = this; if (num === orgnum) { var url = this.getAttribute('data-url'); $.get(url, function (rst) { var dom = (new DOMParser()).parseFromString(rst, 'text/html'); var r = dom.querySelector('.j_floor_panel'); var lii = r.querySelectorAll('li'); lii.forEach(function (li, index) { if (index < 2) { return; } var username = li.querySelector('.left>div .user_name').outerHTML; username = username.replace('', ':'); var s = li.querySelector('.content span'); s.className = 'floor_content'; var c = li.querySelector('.content').innerHTML; var div = `
`; li.innerHTML = div; var ll = document.createElement('li'); ll.classList.add('list_item_floor'); ll.classList.add('j_list_item_floor'); ll.innerHTML = div; //console.log(content.find('.flist')) content.find('.flist')[0].appendChild(ll) }); if (num <= 8) { that.parentNode.removeChild(that); } else { num -= 8; that.innerText = `查看剩余${num}条回复`; } }); } else { var url = `https://tieba.baidu.com/mo/q//flr?fpn=${page}&kz=${kz}&pid=${tid}&is_ajax=1&has_url_param=0&template=lzl`; $.get(url, function (res) { var ht = (new DOMParser()).parseFromString(res.data.floor_html, 'text/html'); var lii = ht.querySelectorAll('li'); lii.forEach(function (li, index) { var username = li.querySelector('.left>div .user_name').outerHTML; username = username.replace('', ':'); var s = li.querySelector('.content span'); s.className = 'floor_content'; var c = li.querySelector('.content').innerHTML; var div = `
`; li.innerHTML = div; var ll = document.createElement('li'); ll.classList.add('list_item_floor'); ll.classList.add('j_list_item_floor'); ll.innerHTML = div; //console.log(content.find('.flist')) content.find('.flist')[0].appendChild(ll) }); ++page; if (num > 10) { num -= 10; that.innerText = `查看剩余${num}条回复`; } else { that.parentNode.removeChild(that); } }) } }) }) } floor[0].parentNode.removeChild(floor[0]) } }); } function lz() { var lz = document.querySelector('span.poster_only'); if (lz) { lz.onclick = null; var h = location.href; var ff = 0; if (h.indexOf('see_lz=1') > -1) { lz.textContent = '取消只看楼主'; h = h.replace('see_lz=1', 'see_lz=0'); ff = 1; } lz.addEventListener('click', () => { if (ff === 0) { h = h.indexOf('?') < 0 ? h + '?see_lz=1' : h + '&see_lz=1'; } location.href = h; }); } } function f(value) { var dt = JSON.parse(value.getAttribute('data-info')); if (dt) { var fl = dt.floor_num; var l = document.createElement('span'); l.style.color = 'green'; l.textContent = fl + '楼'; if (fl === 1) { l.textContent = '楼主'; } else if (fl === 2) { l.textContent = '沙发'; } else if (fl === 3) { l.textContent = '板凳'; } value.querySelector('.list_item_time').parentNode.appendChild(l); } } function check() { var userAgentInfo = navigator.userAgent; var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"]; var flag = 0; for (var v = 0; v < Agents.length; v++) { if (userAgentInfo.indexOf(Agents[v]) > -1) { flag = 1; break; } } return flag; } function list() { [ '.frs_daoliu_for_app', '.tl_shadow_for_app_modle', '.footer_logo', '.footer_link_highlight' ].forEach(value => { var x = document.querySelector(value); if (x) { x.parentNode.removeChild(x) } }); var ads = document.querySelectorAll('li.tl_shadow_for_app'); if (ads.length > 0) { var url = document.querySelector('.tl_shadow_for_app').parentNode.querySelector('a.j_common').href; ads.forEach(v => { //v.classList.remove('tl_shadow_for_app'); var a = v.querySelector('a.j_enter_for_app'); var tid = v.getAttribute('data-tid'); a.href = url.replace(/\/(\d+)\?/.exec(url)[1], tid); a.classList.remove('tl_shadow_for_app'); }) } } function detail() { document.querySelectorAll('ul#pblist>li').forEach(value => { if (value.classList.contains('class_hide_flag')) { value.classList.remove('class_hide_flag'); } }); t(); [ '.img_desc', '.father-cut-recommend-normal-box', '.father-cut-daoliu-normal-box', '#diversBanner', '.footer_logo', '.j_footer_link', '.frs_daoliu_for_app' ].forEach(value => { var x = document.querySelector(value); if (x) { x.parentNode.removeChild(x) } }); document.querySelector('.father-cut-pager-class-no-page').classList.remove('father-cut-pager-class-no-page'); $("#list_pager>a").on("click", function () { setTimeout(t, 3000); }); $('.j_pager_input').blur(() => { setTimeout(t, 3000); }) } if (check()) { var url = location.href; if (/\/p\/\d+/.test(url) || /\/mo\/(.*)\/m\?kz=\d+/.test(url)) { detail(); } if (/f\?kw=.+/.test(url) || /mo\/q\/m\?word=.+/.test(url) || /\/mo\/(.*)\/m\?kw=/.test(url)) { list(); } } })();