// ==UserScript==
// @name 豆瓣助手
// @version 0.0.4
// @namespace airbash/DoubanAssistant
// @homepage https://github.com/AirBashX/UserScript
// @author airbash
// @description 恢复`IMDB`的链接,以及增加快捷搜索`SubHD`、`字幕库`、`射手网`、`WebHD`、`rargb`中资源的功能
// @match *://movie.douban.com/subject/*
// @grant GM_registerMenuCommand
// @grant GM_unregisterMenuCommand
// @grant GM_setValue
// @grant GM_getValue
// @license GPL-3.0
// @icon https://img1.doubanio.com/favicon.ico
// @run-at document-end
// @downloadURL none
// ==/UserScript==
(function () {
"use strict";
const url = location.href;
const head = document.head;
//获取imdbitem
let info_item = document.querySelector("#info");
let imdb_item = document.evaluate('//span[text()="IMDb:"]', info_item, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
let imdb_id_item = document.evaluate('//span[text()="IMDb:"]/following::text()[1]', info_item, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
//获取imdb_id
let imdb_id = imdb_id_item.textContent.trim();
//获取douban_id
let douban_id = url.split("/")[4];
//获取douban_cn_name
let douban_cn_name = head.querySelector("title").innerText.slice(9, -6);
//获取douban_en_name
let douban_all_name = document.querySelector("#content > h1 > span:nth-child(1)").innerHTML;
let douban_en_name = douban_all_name.split(douban_cn_name)[1].trim();
if (douban_en_name == null) {
douban_en_name = douban_cn_name;
}
imdb();
/**
* 恢复IMDB链接
*/
function imdb() {
let div = document.createElement("div");
div.innerHTML = "IMDb: " + imdb_id + "
";
imdb_id_item.after(div);
//删除原本的idmb链接
imdb_item.remove();
imdb_id_item.remove();
}
/**
* 侧边栏功能列表
*/
const webSites = [
{
name: "字幕搜索",
links: [
{
name: "SubHD",
url: "subhd.tv",
search: "https://subhd.tv/search/",
id: douban_cn_name,
},
{
name: "字幕库",
url: "zimuku.org",
search: "https://so.zimuku.org/search?q=",
id: douban_cn_name,
},
{
name: "射手网",
url: "assrt.net",
search: "https://assrt.net/sub/?searchword=",
id: douban_cn_name,
},
],
},
{
name: "影视资源",
links: [
{
name: "WebHD",
url: "webhd.cc",
search: "https://webhd.cc/search/",
id: douban_cn_name,
},
{
name: "rargb",
url: "rargb.to",
search: "https://rargb.to/search/?search=",
id: douban_en_name,
},
],
},
];
/**
* 注册油侯菜单
*/
if (GM_getValue("resource", true) == true) {
aside();
GM_registerMenuCommand("√侧边栏", () => {
GM_setValue("resource", false);
location.reload();
});
} else {
GM_registerMenuCommand("X侧边栏", () => {
GM_setValue("resource", true);
location.reload();
});
}
/**
* 侧边栏功能
*/
function aside() {
let aside = document.querySelector(".aside");
for (let webSite of webSites) {
let d = document.createElement("div");
aside.prepend(d);
d.className = "resource";
d.innerHTML = "