// ==UserScript==
// @name 百度文库(wenku)| 免费下载BX修复版
// @version 1.21
// @description /////部分问题解决方法在安装脚本页面下方,请仔细阅读/////基于《百度文库(wenku)在线下载PDF格式文件》修改部分代码,修复了打印页面空白问题。可将大部分文档打印成pdf/脚本仅供学习交流,请勿用于商业用途。
// @author ChaorenLong
// @namespace https://gitee.com/Bgz666/bdwenku-download-tampermonkey-script
// @require https://cdn.bootcss.com/jquery/2.2.4/jquery.js
// @match *://wenku.baidu.com/view/*
// @match *://wenku.baidu.com/share/*
// @grant unsafeWindow
// @grant GM_registerMenuCommand
// @license GPL-2.0
// @icon https://wkstatic.bdimg.com/static/wkview/widget/common_toc_reader/common/doc_bottom/compAsync/btns/image/icon-svip.svg
// @downloadURL none
// ==/UserScript==
//感谢原作者 eko.zhan, HelloCodeMing 的脚本支持;脚本仅供学习交流使用,请勿用于商业用途。
; (function () {
'use strict'
window.onload = function(){
if(document.getElementsByClassName("goBtn")[0]){
const moreBtn = document.getElementsByClassName("goBtn")[0];
if(moreBtn){
moreBtn.click();
}
}
insert();
};
//insert print btn
var d = true;
var e = true;
var pp = true;
//获得每页高度后再赋值给sh2,下面判断要用全局变量,而直接这里获取页面高度数值不对
var sh2 = 0;
function insert() {
//添加菜单
if(window.location.pathname.indexOf('share')!= -1){
//非ppt,暂不支持ppt自定义,请期待后续版本更新
if($('[data-render]')){
GM_registerMenuCommand('自定义文库文档每页高度',function(){
$('#hein')[0].style.display = 'block';
})
GM_registerMenuCommand('取消<打印时文档每页必在不同页>',function(){
pp = false
alert('OK')
})
GM_registerMenuCommand('取消/恢复标题',function(){
if(d){
if($('.reader_ab_test')){
d = false;
$('.reader_ab_test')[0].style.cssText+='display:none'
}
if($('.page')[0]){
$('.page')[0].setAttribute('style','padding-top: 0px;')
}
}
else{
if($('.reader_ab_test')){
d = true;
$('.reader_ab_test')[0].style.display = 'block';
}
}
}
)
GM_registerMenuCommand('取消/恢复边框',function(){
if(e){
if($('.reader-page')){
e = false;
for(var i=0;i<$('.reader-page').length;i++){
$('.reader-page')[i].style.cssText+='border:0'
}
}
}
else{
if($('.reader-page')){
e = true;
for(i=0;i<$('.reader-page').length;i++){
$('.reader-page')[i].style.cssText+='border:1px solid #D3D3D3'
}
}
}
})
}
}
if ($('#btnPrintStyle').length == 0) {
$('head').append(
[
''
].join(' ')
)
}
$('body').append(
[
'
',
'
若点击后无反应,请允许弹出窗口
',
'
跳转到新页面请耐心等待页面加载完成
',
'
',
'','','当前每页高度:','',
'','',' px','','',
'',
'页面断裂调整此处,拖动范围条或输入值后回车调整',
'
'
].join('')
)
if(window.location.pathname.indexOf('share')!= -1){
$('h3').remove();
if($('.center')){
$('.center').append('')//链接为share按钮位置,此处修改
}}else if(window.location.pathname.indexOf('share')== -1){if($('.topbar-container')){
$('.topbar-container').append('')//链接为view按钮位置,此处修改
}}
//调整高度
if($('[data-page-no]')[0]){
if($('.heightInput')[0]){
var sh = $('[data-page-no]')[0].style.height;
//赋值给全局变量sh2
sh2 = sh;
//获取当前页面高度
$('.heightInput')[0].value = sh.substr(0,sh.indexOf('p'));
$('.currentH')[0].value = $('.heightInput')[0].value;
$('.heightInput')[0].oninput = function(){
for(var f = 0;f<$('[data-page-no]').length;f++){
$('[data-page-no]')[f].style.height = $('.heightInput')[0].value + 'px'
$('.currentH')[0].value = $('.heightInput')[0].value;
}
}
$('#cbtn').click(function(){
//触发oninput事件
$('.heightInput').val(sh.substr(0,sh.indexOf('p'))).trigger('oninput');
})
//回车执行
$('.currentH').keydown(function(event){
if (event.keyCode == 13){
//设置值也触发oninput事件
$('.heightInput').val($('.currentH')[0].value).trigger('oninput');
}
})
}
}
//删除多余元素,或者使其隐藏
if($('.top-right-fullScreen')[0]){
$('.top-right-fullScreen')[0].remove();
}
if($('#doc_bottom_wrap')[0]){
$('#doc_bottom_wrap')[0].remove();
}
if($('#html-reader-go-more')[0]){
$('#html-reader-go-more')[0].setAttribute('style','display:none');
}
if($('.owner-desc-wrap')[0]){
$('.owner-desc-wrap')[0].setAttribute('style','display:none');
}
if($('.header-wrap')[0]){
$('.header-wrap')[0].setAttribute('style','display:none');
}
if($('.aside')[0]){
$('.aside')[0].setAttribute('style','display:none');
}
if($('.tag-tips')[0]){
$('.tag-tips')[0].setAttribute('style','display:none');
}
if($('.fix-searchbar-wrap')[0]){
$('.fix-searchbar-wrap')[0].remove();
}
if($('.top-ads-banner-wrap')[0]){
$('.top-ads-banner-wrap')[0].remove();
}
if($('#activity-tg')[0]){
$('#activity-tg')[0].remove();
}
if($('.crubms-wrap')[0]){
$('.crubms-wrap')[0].setAttribute('style','display:none');
}
if($('.doc-tag-wrap')[0]){
$('.doc-tag-wrap')[0].setAttribute('style','display:none');
}
if($('.doc-value')[0]){
$('.doc-value')[0].setAttribute('style','display:none');
}
if($('.doc-bottom-wrap')[0]){
$('.doc-bottom-wrap')[0].setAttribute('style','display:none');
}
if($('#next_doc_box')[0]){
$('#next_doc_box')[0].setAttribute('style','display:none');
}
if($('.left')[0]){
$('.left')[0].setAttribute('style','display:none');
}
if($('.centerRight')[0]){
$('.centerRight')[0].setAttribute('style','display:none');
}
if($('.ft')[0]){
$('.ft')[0].setAttribute('style','display:none');
}
if($('#ft')[0]){
$('#ft')[0].setAttribute('style','display:none');
}
//使主要内容居中
if($('.page')[0]){
$('.page')[0].setAttribute('style','padding-top: 10px;')
}
if($('.reader_ab_test')[0]){
$('.reader_ab_test')[0].style.cssText ='text-align: center; margin-right: 0px;width:966px;margin-bottom:10px'
}
if($('#doc-main')[0]){
if($('[data-render]')[0]){
$('#doc-main')[0].setAttribute('style','margin-left:116px');
}
}
if($('.reader-tools-bar-center')[0]){
$('.reader-tools-bar-center')[0].setAttribute('style','margin-right:0px');
}
//去除边框
/*
if($('.reader-page')){
for(var i=0;i<$('.reader-page').length;i++){
$('.reader-page')[i].style.cssText+='border:0'
}
}
*/
var t = null
$('.ez-btn').hover(
function () {
$('.ez-panel')
.css({
top: $('.ez-btn').offset().top - 160 + 'px',
left: $('.ez-btn').offset().left + 70 + 'px'
})
.show()
},
function () {
//链接上经过,保持5秒
$('a').mouseover(
function(){
if (t) window.clearTimeout(t)
t = window.setTimeout(function () {
$('.ez-panel').hide()
},5*1000)
}
)
//移出panel
$('.ez-panel').mouseout(function(){
if (t) window.clearTimeout(t)
t = window.setTimeout(function () {
$('.ez-panel').hide()
},500)
})
//其余情况
if (t) window.clearTimeout(t)
t = window.setTimeout(function () {
$('.ez-panel').hide()
},1000)
}
)
$('.ez-btn').click(function () {
if(window.location.pathname.indexOf('share')== -1){
window.open('/share/' + window.location.pathname.slice(6),'_blank');
}else{
if($('.tools-bar-small')[0]){
$('.tools-bar-small')[0].setAttribute('style','display:none');
}
prePrint()
$('#hein')[0].style.display = 'none';
}})
$('body').mousedown(function (e) {
if (e.button == 2) {
//imgHandle()
}
return true
})
}
var a = [];
var b = [];
var kong = [];
var c = [];
function saveRecover(){
b = $('[data-render="1"]');
for(var i = 0;i {
if (
$(item)
.attr('href')
.indexOf('/common_toc/common/style/main') != -1
) {
$(item).remove()
}
})
$('.read-all').click()
$('.header-wrapper').remove()
$('.no-full-screen').remove()
$('.lazy-load').remove()
$('.reader-topbar').remove()
//使打印出来页面居中
//非ppt
if($('[data-render]')[0]){
$('.main')[0].setAttribute('style','margin-left:-70px')
}
//重新定义remove方法
jQuery.fn.extend({
remove: function () {
return false
}
})
$(window).scrollTop(10);
window.setTimeout(function () {
saveRecover();
}, 1000)
var _h = document.body.scrollHeight,
_tmp = 1000
var _t = window.setInterval(function () {
$(window).scrollTop(_tmp)
saveRecover();
_tmp = _tmp + 1000
_h = document.body.scrollHeight
if (_tmp > _h) {
window.clearInterval(_t)
window.setTimeout(function () {
saveRecover();
kong = $("[data-render='']");
for (var i = 0; i < kong.length; i++) {
kong[i].innerHTML = a[i];
//console.log(kong[i])
}
doPrint();
}, 1000)
}
}, 300)
}
/**
* 调用浏览器打印
*/
function doPrint() {
window.setTimeout(function () {
window.print()
$('#hein')[0].style.display = 'block';
a=[];
if($('.tools-bar-small')[0]){
if(!$('.next-pageList')[0]){
$('.tools-bar-small')[0].setAttribute('style','display:block');//显示下边栏
}
}
if($('.main')[0]){
$('.main')[0].setAttribute('style','margin-left:120px')//页面居中
}
}, 2000)
}
})()