Lore Free 书籍上传助手

允许用户在 Lore Free 上传页面手动粘贴豆瓣链接;豆瓣书籍搜索页面增加复制链接按钮

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         Lore Free 书籍上传助手
// @description  允许用户在 Lore Free 上传页面手动粘贴豆瓣链接;豆瓣书籍搜索页面增加复制链接按钮
// @author       Exuanbo
// @version      0.1
// @icon         https://ebook.lorefree.com/favicon.ico
// @match        https://ebook.lorefree.com/upload
// @match        https://book.douban.com/subject_search*
// @grant        none
// @namespace    Exuanbo
// ==/UserScript==

(function() {
    if (/lorefree.com/.test(location.host)) {
        const urlForm = document.getElementById('url');
        urlForm.placeholder = '请点击之后使用键盘快捷键粘贴链接'

        urlForm.addEventListener('paste', (e) => {
            e.preventDefault()
            let dbUrl = e.clipboardData.getData('text/plain').match(/https\:\/\/book\.douban\.com\/subject\/(\d+)\//);
            if (dbUrl !== null) {
            copyLink(dbUrl[1])
            }
        })
    }

    if (/douban.com/.test(location.host)) {
        const titles = document.getElementsByClassName('title');
        const titleTexts = document.getElementsByClassName('title-text');

        for (let i = 0; i < 16; i ++) {
            let btnDiv = document.createElement('div');
            let btn = document.createElement('button');
            btn.appendChild(document.createTextNode('复制url'))

            let copyHelper = document.createElement('span');
            copyHelper.appendChild(document.createTextNode('复制成功!'))
            copyHelper.style = 'display:none'

            btnDiv.appendChild(btn)
            btnDiv.appendChild(copyHelper)
            titles[i].appendChild(btnDiv)

            let url = titleTexts[i].href;
            btn.onclick = () => {
                let dbidText = document.createElement('input');
                document.body.appendChild(dbidText)
                dbidText.value = url
                dbidText.select()
                document.execCommand('copy')
                document.body.removeChild(dbidText)
                copyHelper.style = 'display:block'
            }
        }
    }
})()