您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
View or download from Scribd without an account
当前为
- // ==UserScript==
- // @name Scribd Viewer/Downloader
- // @namespace 0b9
- // @match *://www.scribd.com/*
- // @grant none
- // @version 1.1
- // @author 0b9
- // @description View or download from Scribd without an account
- // @license MIT
- // ==/UserScript==
- (function () {
- 'use strict';
- const currentUrl = window.location.href;
- // ===== Scribd =====
- if (currentUrl.includes('scribd.com')) {
- sessionStorage.setItem('originalUrl', currentUrl);
- let originalUrl = null;
- function redirectToEmbed() {
- const currentUrl = window.location.href;
- sessionStorage.setItem('originalUrl', currentUrl);
- const regex = /https:\/\/www\.scribd\.com\/[^/]+\/([^/]+)\/[^/]+/;
- const match = currentUrl.match(regex);
- if (match) {
- const newUrl = `https://www.scribd.com/embeds/${match[1]}/content`;
- window.location.href = newUrl;
- } else {
- alert("Error: No match");
- }
- }
- function downloadContent() {
- const contentElements = document.querySelectorAll('.text_layer .a');
- let content = '';
- contentElements.forEach(element => {
- content += element.textContent + '\n';
- });
- const blob = new Blob([content], { type: 'text/plain' });
- const url = URL.createObjectURL(blob);
- const a = document.createElement('a');
- a.href = url;
- a.download = 'scribd_content.txt';
- document.body.appendChild(a);
- a.click();
- document.body.removeChild(a);
- URL.revokeObjectURL(url);
- }
- function downloadContentAsPDF() {
- const savedUrl = sessionStorage.getItem('originalUrl');
- if (!savedUrl) {
- alert('Error: Click the "View Full" button and try again');
- return;
- }
- const regex = /https:\/\/www\.scribd\.com\/(?:document|presentation)\/(\d+)\/([^\/?#]+)/;
- const match = savedUrl.match(regex);
- if (match) {
- const part1 = match[1];
- const part2 = match[2];
- const urls = [
- `https://compress-pdf.vietdreamhouse.com/?fileurl=https://scribd.downloader.tips/pdownload/${part1}/${part2}&title=${part2}`,
- `https://compress.tacz.info/?fileurl=https://scribd.vpdfs.com/pdownload/${part1}/${part2}&title=${part2}`
- ];
- const randomUrl = urls[Math.floor(Math.random() * urls.length)];
- window.location.href = randomUrl;
- } else {
- alert('Error: Invalid URL');
- }
- }
- function createButton(text, top, bgColor, onClick) {
- const btn = document.createElement('button');
- btn.textContent = text;
- btn.style.position = 'fixed';
- btn.style.top = top;
- btn.style.right = '10px';
- btn.style.zIndex = '1000';
- btn.style.padding = '10px';
- btn.style.backgroundColor = bgColor;
- btn.style.color = 'white';
- btn.style.border = 'none';
- btn.style.borderRadius = '5px';
- btn.style.cursor = 'pointer';
- btn.addEventListener('click', onClick);
- document.body.appendChild(btn);
- }
- createButton('View Full', '10px', '#4CAF50', redirectToEmbed);
- createButton('Download TXT', '50px', '#007BFF', downloadContent);
- createButton('Download PDF', '90px', '#FF5733', downloadContentAsPDF);
- }
- // ===== SlideShare =====
- if (currentUrl.includes('slideshare.net/slideshow/')) {
- const match = currentUrl.match(/https:\/\/www\.slideshare\.net\/slideshow\/([^/]+)\/(\d+)/);
- let downloadUrl;
- if (match) {
- // If the URL follows the old ID-at-end pattern
- downloadUrl = `https://slideshare.vpdfs.com/download/slideshow/${match[1]}/${match[2]}`;
- } else {
- // Generic fallback - re-use the pathname
- const path = window.location.pathname.replace('/slideshow/', '');
- downloadUrl = `https://slideshare.vpdfs.com/download/slideshow/${path}`;
- }
- const downloadSlideShareBtn = document.createElement('button');
- downloadSlideShareBtn.textContent = 'Download SlideShare';
- downloadSlideShareBtn.style.position = 'fixed';
- downloadSlideShareBtn.style.top = '10px';
- downloadSlideShareBtn.style.right = '10px';
- downloadSlideShareBtn.style.zIndex = '1000';
- downloadSlideShareBtn.style.padding = '10px';
- downloadSlideShareBtn.style.backgroundColor = '#6f42c1';
- downloadSlideShareBtn.style.color = 'white';
- downloadSlideShareBtn.style.border = 'none';
- downloadSlideShareBtn.style.borderRadius = '5px';
- downloadSlideShareBtn.style.cursor = 'pointer';
- downloadSlideShareBtn.addEventListener('click', () => {
- window.location.href = downloadUrl;
- });
- document.body.appendChild(downloadSlideShareBtn);
- }
- })();