NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name test
// @namespace http://tampermonkey.net/
// @version 0.1
// @description test
// @author clumsyman
// @copyright 2018, clumsyman (https://openuserjs.org//users/clumsyman)
// @license MIT
// @match https://m.zhaishuyuan.com/chapter/*
// @grant none
// ==/UserScript==
function parseReplacementPY(s) {
var i = s.indexOf('=');
var pair = i < 0 ? [s, ''] : [s.substring(0, i), s.substring(i + 1)];
pair[0] = new RegExp('([^a-zA-Z0-9])'+pair[0]+'([^a-zA-Z0-9])', 'g');
pair[1] = '$1<span class=c_red>'+pair[1]+'</span>$2';
return pair;
}
var replacements = parseReplacements(
'chuáng=床&'+
'xiong=胸&'+
'xing=性&'+
'xiǎo=小&'+
'ting=挺&'+
'nong=弄&'+
'luàn=乱&'+
'làng=浪&'+
'jing=精&'+
'jiāo=交&'+
'jiān=奸&'+
'dong=洞&'+
'dàng=荡&'+
'chun=唇&'+
'chou=抽&'+
'cháo=潮&'+
'you=诱&'+
'yin=阴&'+
'yào=药&'+
'tui=腿&'+
'shè=射&'+
'sāo=骚&'+
'rou=肉&'+
'mén=门&'+
'máo=毛&'+
'luo=裸&'+
'hun=混&'+
'huā=花&'+
'féi=肥&'+
'chā=插&'+
'si=私&'+
'sè=色&'+
'ru=乳&'+
'nv=女&'+
'nǎ=奶&'+
'mo=摸&'+
'mi=迷&'+
'lu=露&'+
'ku=裤&'+
'ji=激&'+
'fu=府&'+
'bo=波&',
true);
function zhaishuyuan() {
var global_find = $;
var prev_store = document.getElementById('prev_store');
if (!prev_store) {
prev_store = document.createElement('div');
prev_store.id = 'prev_store';
prev_store.style.display = 'none';
document.body.appendChild(prev_store);
}
function findPrev(a, b) {
return global_find(a, '#prev_store');
}
function loadPrev(body) {
prev_store.innerHTML = body;
var scripts = prev_store.querySelectorAll('#center script:not([src])');
for (var i = 0; i < scripts.length; i++)
eval(scripts[i].innerText);
return prev_store;
}
function updatePrevChapterLinks(prev_url) {
for (var i = 0; i < nr_pages.length; i++) {
nr_pages[i].firstElementChild.firstElementChild.href = prev_url;
}
}
function getPrevUrl(container) {
return container.querySelector('.nr_page').firstElementChild.firstElementChild.href;
}
function invokeDecode(container) {
var scripts = container.querySelectorAll('script:not([src])');
for (var i = 0; i < scripts.length; i++) {
var idx = scripts[i].innerText.indexOf('function getDecode(){');
if (idx >= 0) {
eval(scripts[i].innerText.substring(idx));
getDecode();
}
}
}
function findContent(container) {
invokeDecode(container);
var content = container.querySelector('#award_win').nextElementSibling;
var a_c = content.querySelectorAll('a.c_red');
for (var i = 0; i < a_c.length; i++)
a_c[i].parentElement.removeChild(a_c[i]);
a_c = content.querySelectorAll('a.c_green');
for (var i = 0; i < a_c.length; i++)
a_c[i].parentElement.removeChild(a_c[i]);
return cleanText(content);
}
function findTitle(container) {
var title = container.querySelector('#nr_title');
title.className = 'chapter_title';
return cleanText(title);
}
function loadPrevChapter() {
try {
var xhr = new XMLHttpRequest();
xhr.open('GET', getPrevUrl(document.body), false);
xhr.overrideMimeType('text\/plain; charset=gb2312');
xhr.send();
if (xhr.readyState == 4 && xhr.status == 200) {
var body = getBody(xhr.responseText);
$ = findPrev;
loadPrev(body);
var prev_content = findContent(prev_store);
$ = global_find;
for (var last; last = prev_content.lastElementChild; )
wap_content.insertBefore(last, wap_content.firstElementChild);
var prev_title = findTitle(prev_store);
wap_content.insertBefore(prev_title, wap_content.firstElementChild);
updatePrevChapterLinks(getPrevUrl(prev_store));
} else {
alert('readyState='+xhr.readyState+', status='+xhr.status+', statusText='+xhr.statusText);
}
} catch(e) {
alert(e + '\n' + e.stack);
} finally {
return false;
}
}
createReplacementStyles();
var wap_content = findContent(document.body);
wap_content.insertBefore(findTitle(document.body), wap_content.firstElementChild);
var nr_pages = document.querySelectorAll('.nr_page');
for (var i = 0; i < nr_pages.length; i++) {
var nr_page = nr_pages[i];
nr_page.firstElementChild.firstElementChild.onclick = loadPrevChapter;
nr_page.querySelector('.m-left-right').style.margin = '0 12px';
}
$(window).off('scroll');
}