From fa3373f1435d2af340360dafd8f1894baaa32caa Mon Sep 17 00:00:00 2001 From: xing Date: Wed, 8 Apr 2020 01:18:12 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9C=8B=E5=9B=BE=E4=BC=98=E5=8C=96=EF=BC=8C?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E7=9C=8B=E9=AB=98=E6=B8=85=E5=A4=A7=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tieba page.js | 105 +++++++++++++++++++++++++++++--------------------- 1 file changed, 61 insertions(+), 44 deletions(-) diff --git a/tieba page.js b/tieba page.js index dc5ec58..6eaeaf8 100644 --- a/tieba page.js +++ b/tieba page.js @@ -1,7 +1,7 @@ // ==UserScript== // @name tieba page // @namespace https://github.com/fthvgb1/tampermonkey-script -// @version 0.994 +// @version 0.995 // @author fthvgb1 // @match https://tieba.baidu.com/* // @match https://tiebac.baidu.com/* @@ -16,45 +16,33 @@ 'use strict'; let obs; - function gif3(v) { - let imgs = v.querySelectorAll('img.BDE_Image'); + function jpg(v) { + let imgs = v.querySelectorAll('[data-class="BDE_Image"]:not([data-type="gif"])'); if (imgs.length > 0) { - imgs.forEach(img => { - let src = img.src.replace('tiebapic', 'imgsrc').replace('tiebapic', 'imgsrc'); - let s = /&src=(.*)/.exec(src); - if (s != null) { - let x = s.length > 0 ? s[1] : src; - img.src = decodeURIComponent(x); - img.setAttribute('data-ss', img.src); - - img.setAttribute('data-src', src) - } - + //debugger + imgs.forEach(value => { + let h = value.dataset.url.replace('tiebapic', 'imgsrc').replace('tiebapic', 'imgsrc'); + let tmp = h.split('&src=')[1]; + value.outerHTML = ``; }) } } function gif(v) { - let imgs = v.querySelectorAll('div[data-class="BDE_Image"]'); + let imgs = v.querySelectorAll('[data-type="gif"]'); if (imgs.length > 0) { imgs.forEach(value => { - let o = value.getAttribute('data-url').replace('tiebapic', 'imgsrc').replace('tiebapic', 'imgsrc'); - let src = decodeURIComponent(value.getAttribute('data-url')); - let s = /&src=(.*)/.exec(src); - if (s != null) { - let ss = s[1]; - let img = document.createElement('img'); - img.src = (ss); - img.className = 'BDE_Image'; - img.setAttribute('data-src', o); - img.setAttribute('data-ss', ss); - value.outerHTML = `
${img.outerHTML}
`; - } + let h = value.dataset.url.replace('tiebapic', 'imgsrc').replace('tiebapic', 'imgsrc'); + let url = h.split('&src=')[1]; + let ssr = decodeURIComponent(url); + let x = ssr.split('/'); + let id = x[x.length - 1]; + value.outerHTML = `
gif
`; }) } - gif3(v) } + function delElement(selectors) { selectors.forEach(value => { let x = document.querySelector(value); @@ -76,10 +64,6 @@ if (t.nodeName !== 'IMG') { return } - if (t.classList.contains('BDE_Image')) { - t.src = t.dataset.src; - obs = t - } let imgs = $(t).parents('#pb_imgs_div'); if (imgs.length > 0) { @@ -265,6 +249,7 @@ } delElement(['#diversBanner', '.j_videoFootDownBtn']); gif(e); + jpg(e); let ee = $(e); let tid = ee.attr("tid"); let x = ee.find('.list_item_top a.j_report_btn'); @@ -385,6 +370,47 @@ return ua.indexOf('mobile') > -1 || ua.indexOf('phone'); } + function p() { + let c = document.querySelector('.slide_frame'); + let MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver; + let observer = new MutationObserver((mutations) => { + mutations.forEach(item => { + if (item.addedNodes.length > 0) { + item.addedNodes.forEach(node => { + let img = node.querySelector('img'); + if (img) { + let tmp = img.src.split('&src='); + let src = img.src; + if (tmp.length > 1) { + let newSrc = decodeURIComponent(tmp[1]); + img.src = newSrc; + let i = document.querySelector(`img[data-url="${tmp[1]}"]`); + if (i && i.src !== newSrc) { + i.src = newSrc; + i.addEventListener('click', evt => { + i.src = src; + }); + } + + } else { + let x = img.src.split('/'); + let u = x[x.length - 1]; + let i = document.querySelector(`img[data-url="${u}"]`); + if (i && i.src !== img.src) { + i.src = img.src; + } + } + } + }) + } + }) + }); + + observer.observe(c, { + childList: true, + }); + } + function createTime() { let url = location.href.replace('&mo_device=1', ''); @@ -506,9 +532,7 @@ }); observer.observe(list, { - attributes: true, childList: true, - characterData: true }); function op() { @@ -577,16 +601,11 @@ } + function detail() { - god(); - document.querySelector('a[class="ui_button ui_back j_span_back"]').addEventListener('click', event => { - obs.src = obs.dataset.ss - }); - + p(); reply(); - - document.querySelectorAll('ul#pblist>li').forEach(value => { if (value.classList.contains('class_hide_flag')) { value.classList.remove('class_hide_flag'); @@ -610,9 +629,7 @@ }); observer.observe(list, { - attributes: true, - childList: true, - characterData: true + childList: true });