Greasy Fork

Greasy Fork is available in English.

MyDoubanMovieHelper|豆瓣电影C+|豆瓣|豆瓣电影|movie.douban.com

网页信息增强,并入IMDB评分系统, 提供在线观看便捷链接,提供资源提供站点哦便捷链接。美化界面。

当前为 2017-01-23 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @connect       imdb.com
// @connect       6080.tv
// @match         https://movie.douban.com/subject/*
// @version       01232017ega
// @resource      https://coding.net/u/Changhw/p/MyDoubanMovieHelper/git/raw/master/title_overview_sprite.png
// @require       https://cdn.bootcss.com/jquery/2.2.3/jquery.min.js
// @grant         GM_xmlhttpRequest
// @grant         GM_setClipboard
// @grant         GM_addStyle
// @name          MyDoubanMovieHelper|豆瓣电影C+|豆瓣|豆瓣电影|movie.douban.com
// @description   网页信息增强,并入IMDB评分系统, 提供在线观看便捷链接,提供资源提供站点哦便捷链接。美化界面。
// @description   豆瓣电影C+|MyDoubanMovieHelper|豆瓣|豆瓣电影
// @id            [email protected]
// @namespace     Chang_way_enjoying
// @author        Chang
// ==/UserScript==

/***
 * Updated by Chang on 01/23/2017.
 * QQ 3099891314
 * contact me :)
 */
(function() {
var adblock_css = "";
adblock_css += "#dale_movie_subject_top_right,";
adblock_css += "#dale_movie_subject_top_right,";
adblock_css += "#dale_movie_subject_top_midle,";
adblock_css += "#dale_movie_subject_middle_right,";
adblock_css += "#dale_movie_subject_bottom_super_banner,";
adblock_css += "#footer,";
adblock_css += ".qrcode-app,";
adblock_css += ".top-nav-doubanapp,";
adblock_css += ".extra,";
adblock_css += "div.gray_ad,";
adblock_css += "p.pl,";
adblock_css += "div.ticket {";
adblock_css += "display: none;";
adblock_css += "}";
GM_addStyle(adblock_css);
})(); 
var aside_html = "";
aside_html += '<div class="c-aside">';
aside_html += '<h2><i class="">四字标题</i>· · · · · · </h2>';
aside_html += '<div class="c-aside-body" style="padding: 0 18px;">';
aside_html += '<ul class="bs">';
aside_html += '</ul>';
aside_html += '</div>';
aside_html += '</div>';
var aside_css = "";
aside_css += ".c-aside {";
aside_css += "margin-bottom: 30px;";
aside_css += "}";
aside_css += ".c-aside-body {";
aside_css += "*letter-spacing: normal;";
aside_css += "}";
aside_css += ".c-aside-body a {";
aside_css += "color: #37A;";
aside_css += "width: 65px;";
aside_css += "text-align: center;";
aside_css += "letter-spacing: normal;";
aside_css += "margin: 0 8px 8px 0;";
aside_css += "padding: 0 8px;";
aside_css += "display: inline-block;";
aside_css += "border-radius: 6px;";
aside_css += "}";
aside_css += ".c-aside-body a:link,";
aside_css += ".c-aside-body a:visited {";
aside_css += "background-color: #f5f5f5;";
aside_css += "color: #37A;";
aside_css += "}";
aside_css += ".c-aside-body a:hover,";
aside_css += ".c-aside-body a:active {";
aside_css += "background-color: #e8e8e8;";
aside_css += "color: #37A;";
aside_css += "}";
aside_css += ".c-aside-body a.disabled {";
aside_css += "text-decoration: line-through;";
aside_css += "}";
aside_css += ".c-aside-body a.available {";
aside_css += "color: #006363;";
aside_css += "background-color: #5ccccc;";
aside_css += "}";
aside_css += ".c-aside-body a.available:hover,";
aside_css += ".c-aside-body a.available:active {";
aside_css += "background-color: #33cccc;";
aside_css += "}";
aside_css += ".c-aside-body a.sites_r0 {";
aside_css += "text-decoration: line-through;";
aside_css += "}";
GM_addStyle(aside_css);
var site_online = $(aside_html);
site_online.addClass("site_online");
site_online.find("div.c-aside-body").addClass("site-online-body");
site_online.find("h2 i").text("在线资源");
$("#content div.tags").before(site_online);
function update_site_online_sites(title, en) {
if (en) {
} else {
var site_online_sites = {
"4K吧": "http://www.kkkkba.com/index.php?s=vod-search-wd-" + title + ".html",
"f4yy": "http://f4yy.com/index.php?m=vod-search-pg-1-wd-" + encodeURIComponent(title),
"电影6080": "http://www.6080.tv/book/search?action=search&t=8&tag=" + title,
"AcFun": "http://www.acfun.cn/search/#query=" + title,
"Bilibili": "http://search.bilibili.com/all?keyword=" + title,
"搜库": "http://www.soku.com/search_video/q_" + title
};
var sites_playBtn = $("div.gray_ad a.playBtn");
for (var i = 0, n; (n = sites_playBtn[i]); i++) {
var t = $(n).text().replace(/\s/g, "").replace("视频", "");
var l = $(n).attr("href");
if (l == "javascript: void 0;") {
continue;
}
l = parseURL(l).params['url'];
l = decodeURIComponent(l);
l = "http://www.sfsft.com/admin.php?url=" + l;
site_online_sites[t] = l;
}
}
for (var name in site_online_sites) {
link = site_online_sites[name];
link_parsed = parseURL(link);
link = $("<a></a>").attr("href", link);
link.attr("data-host", link_parsed.host);
link.attr("target", "_blank").attr("rel", "nofollow");
link.html(name);
$("#content div.site-online-body ul").append(link);
}
}
var site_offline = $(aside_html);
site_offline.addClass("name-offline");
site_offline.find("div.c-aside-body").addClass("name-offline-body");
site_offline.find("h2 i").text("离线资源");
$("#content div.tags").before(site_offline);
function update_site_offline_sites(title, en) {
if (en) {
var site_offline_sites = {
"海盗湾": "http://thepiratebay.ee/s/?q=" + title,
"kickass": "https://katcr.co/new/torrents-search.php?" +
"c69=1&c80=1&c79=1&c148=1&c149=1&c81=1&c78=1&c150=1&c71=1&c74=1&cat=0" +
"&incldead=0&freeleech=0&inclexternal=0&lang=0&search=" +
title,
"射手伪": "http://assrt.net/sub/?searchword=" + title,
"rarbg": "https://rarbg.to/torrents.php?search=" + title,
"飘域家园": "http://bbs.homefei.net/searcher.php?keyword=" + title
}
} else {
var site_offline_sites = {
"龙部落": "http://www.lbldy.com/search/" + title,
"字幕库": "http://www.zimuku.net/search?q=" + title,
"字幕组": "http://www.zimuzu.tv/search/index?keyword=" + title,
"sub HD": "http://subhd.com/search/" + title,
"sub OM": "http://www.subom.net/search/" + title,
"163字幕": "http://www.163sub.com/Search?id=" + title,
"第三楼字幕": "http://zhannei.baidu.com/cse/search?click=1&s=8073048380622477318&nsid=&q=" + title,
"电波字幕": "http://dbfansub.com/?s=" + title,
"51下片": "http://www.51xiapian.com/search.php?submit=%E6%90%9C%E7%B4%A2&searchword=" + title,
"高清网": "http://gaoqing.la/?s=" + title,
"高清控": "http://www.gaoqingkong.com/?s=" + title,
"BT天堂": "http://www.bttt.la/s.php?q=" + title + "&sitesearch=www.bttt.la&domains=bttt.la&hl=zh-CN&ie=UTF-8&oe=UTF-8",
"BT吧": "http://www.btba.com.cn/search?keyword=" + title,
"movie吧": "http://www.52movieba.com/?s=" + title,
"动漫花园": "https://share.dmhy.org/topics/list?keyword=" + title,
"电影天堂": "http://zhannei.baidu.com/cse/search?q=" + title + "&s=4523418779164925033",
"飘花资源": "http://so.piaohua.com:8909/plus/search.php?kwtype=0&keyword=" + title,
"BT之家": "http://www.btbtt.la/search-index-keyword-" + title + ".htm",
"我飞网": "http://www.9kkz.com/search.php?keyword=" + title,
"片源网": "http://pianyuan.net/search?q=" + title,
"比特大雄": "http://www.btdx8.com/?s=" + title,
"RARBT": "http://www.rarbt.com/index.php/search/index.html?search=" + title,
"CILI001": "http://cili17.com/?topic_title3=" + title,
"哇呱影视": "http://www.gagays.com/movie/search?req%5Bkw%5D=" + title,
"天天美剧": "http://www.ttmeiju.com/index.php/search/index.html?keyword=" + title + "&range=0",
"深影论坛": "http://zhannei.baidu.com/cse/search?q=" + title + "&click=1&s=10886843873236087874&nsid="
};
}
for (var name in site_offline_sites) {
link = site_offline_sites[name];
link_parsed = parseURL(link);
link = $("<a></a>").attr("href", link);
link.attr("data-host", link_parsed.host);
link.attr("target", "_blank").attr("rel", "nofollow");
link.html(name);
$("#content div.name-offline-body ul").append(link);
}
}
var title = title_sec = $("#content > h1 > span")[0].textContent.split(" ");
title = title.shift();
title_sec = title_sec.join(" ").trim();
var title_en = "";
update_site_online_sites(title);
update_site_offline_sites(title);
function getDoc(url, callback) {
GM_xmlhttpRequest({
method: 'GET',
url: url,
headers: {
'Content-type': null
},
onload: function (response) {
var doc = '';
if (response.status == 200) {
doc = new DOMParser().parseFromString(response.responseText, 'text/html');
if (doc === undefined) {
doc = document.implementation.createHTMLDocument("");
doc.querySelector('html').innerHTML = responseText;
}
}
callback(doc, response.finalUrl);
}
});
}
function postDoc(url, callback, data) {
GM_xmlhttpRequest({
anonymous: true,
method: 'POST',
url: url,
headers: {
'Content-type': 'application/x-www-form-urlencoded'
},
data: data,
onload: function (response) {
callback(response.responseText, response.finalUrl);
}
});
}
function getJSON(url, callback) {
GM_xmlhttpRequest({
method: 'GET',
url: url,
headers: {
"Accept": "application/json"
},
onload: function (response) {
if (response.status >= 200 && response.status < 400) {
callback(JSON.parse(response.responseText), url);
}
else {
}
}
});
}
function parseURL(url) {
var a = document.createElement('a');
a.href = url;
return {
source: url,
protocol: a.protocol.replace(':', ''),
host: a.hostname,
port: a.port,
query: a.search,
params: (function () {
var ret = {},
seg = a.search.replace(/^\?/, '').split('&'),
len = seg.length, i = 0, s;
for (; i < len; i++) {
if (!seg[i]) {
continue;
}
s = seg[i].split('=');
ret[s[0]] = s[1];
}
return ret;
})(),
file: (a.pathname.match(/\/([^\/?#]+)$/i) || [, ''])[1],
hash: a.hash.replace('#', ''),
path: a.pathname.replace(/^([^\/])/, '/$1'),
relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [, ''])[1],
segments: a.pathname.replace(/^\//, '').split('/')
};
}
(function() {
var imdb_html = "";
imdb_html += '<div class="rating_wrap clearbox rating_imdb" rel="v:rating" style="padding-top: 0;">';
imdb_html += '<div class="rating_logo">IMDB 评分</div>';
imdb_html += '<div class="rating_self clearfix" typeof="v:Rating">';
imdb_html += '<strong class="ll rating_num" property="v:average">0</strong>';
imdb_html += '<span property="v:best" content="10.0"></span>';
imdb_html += '<div class="rating_right ">';
imdb_html += '<div class="ll"></div>';
imdb_html += '<div class="rating_sum">';
imdb_html += '<a href="collections" class="rating_people"><span property="v:votes">0</span>人评价</a>';
imdb_html += '</div>';
imdb_html += '</div>';
imdb_html += '</div>';
imdb_html += '</div>';
var imdb_css = "";
imdb_css += "#interest_sectl .rating_imdb {";
imdb_css += "padding-bottom: 0;";
imdb_css += "border-bottom: 1px solid #eaeaea;";
imdb_css += "}";
imdb_css += "#interest_sectl .rating_wrap {";
imdb_css += "padding-top: 15px;";
imdb_css += "}";
imdb_css += "#interest_sectl .rating_more {";
imdb_css += "position: relative;";
imdb_css += "padding: 15px 0;";
imdb_css += "border-top: 1px solid #eaeaea;";
imdb_css += "color: #9b9b9b;";
imdb_css += "margin: 0;";
imdb_css += "}";
imdb_css += "#interest_sectl .rating_more a {";
imdb_css += "left: 80px;";
imdb_css += "position: absolute;";
imdb_css += "}";
imdb_css += "#interest_sectl .rating_more .titleOverviewSprite {";
imdb_css += "background: url('https://coding.net/u/Changhw/p/MyDoubanMovieHelper/git/raw/master/title_overview_sprite.png') no-repeat;";
imdb_css += "display: inline-block;";
imdb_css += "vertical-align: middle;";
imdb_css += "}";
imdb_css += "#interest_sectl .rating_more .popularityImageUp {";
imdb_css += "background-position: -14px -478px;";
imdb_css += "height: 8px;";
imdb_css += "width: 8px";
imdb_css += "}";
imdb_css += "#interest_sectl .rating_more .popularityImageDown {";
imdb_css += "background-position: -34px -478px;";
imdb_css += "height: 8px;";
imdb_css += "width: 8px;";
imdb_css += "}";
imdb_css += "#interest_sectl .rating_more .popularityUpOrFlat {";
imdb_css += "color: #83C40B";
imdb_css += "}";
imdb_css += "#interest_sectl .rating_more .popularityDown {";
imdb_css += "color: #930E02";
imdb_css += "}";
GM_addStyle(imdb_css);
var imdb = $("div#info a[href^='http://www.imdb.com/title/tt']");
if (imdb) {
var imdb_href = imdb.attr('href');
imdb_id = imdb.text();
if (imdb && imdb_id.startsWith('tt')) {
imdb_id = imdb_id.slice(2);
} else {
imdb_id = "";
}
getDoc(imdb_href, function (doc, url) {
title_en = $(doc).attr('title');
title_en = title_en.split(" (")[0];
update_site_offline_sites(title_en, true);
var rating_douban = $("#interest_sectl .rating_wrap").addClass("rating_douban");
var rating_douban_ratingValue = $("#interest_sectl .rating_douban a.rating_people span[property^=v]").text();
rating_douban_ratingValue = (rating_douban_ratingValue + '').replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,');
$("#interest_sectl .rating_douban a.rating_people span[property^=v]").text(rating_douban_ratingValue);
$("#interest_sectl").prepend($(imdb_html));
var rating_imdb = $("#interest_sectl .rating_imdb");
$("#interest_sectl .rating_imdb a.rating_people").attr("href", imdb_href + "/" + "ratings?ref_=tt_ov_rt");
var ratingValue = $('span[itemprop=ratingValue]', doc).text();
$("#interest_sectl .rating_imdb strong.rating_num").text(ratingValue);
var starValue = ratingValue / 2;
starValue = ((starValue % 1) > 0.5) ? Math.floor(starValue) + 0.5 : Math.floor(starValue);
starValue *= 10;
starValue = "bigstar" + starValue;
$("#interest_sectl .rating_imdb div.rating_right div.ll").addClass(starValue);
var ratingCount = $('span[itemprop=ratingCount]', doc).text();
$("#interest_sectl .rating_imdb a.rating_people span[property^=v]").text(ratingCount);
$("#interest_sectl").append($("<div></div>").addClass("rating_more"));
var rating_more = $("#interest_sectl .rating_more");
var titleReviewBarItem = $('div.titleReviewBarItem', doc);
var Metasocre = "";
for (var i = 0, n; (n = titleReviewBarItem[i]); i++) {
var t = $(n).text();
if (t.indexOf("Metascore") != -1) {
var Metascore = $(n).find("a[href^=criticreviews] span").text();
rating_more.html(rating_more.html() + "Metasocre" + $("<a></a>").attr("href", imdb_href + "/" + "criticreviews?ref_=tt_ov_rt").text(Metascore)[0].outerHTML + "<br>");
} else if (t.indexOf("Reviews") != -1) {
} else if (t.indexOf("Popularity") != -1) {
var Popularity = $(n).find("span.subText").html();
rating_more.html(rating_more.html() + "流行度&nbsp;&nbsp;" + Popularity + "<br>");
}
}
});
}
})(); 

(function() {
var site6080_html = "";

var site6080_css = "";
GM_addStyle(site6080_css);
var site = $("div.aside a[data-host$='www.6080.tv']");
if (site) {
var site_href = site.attr("href");
getDoc(site_href, function (doc) {
var lists = $("div.bd ul.pic li", doc);
var links = [];
for (var i = 0; i < lists.length; i++) {
var l = $(lists[i]);
if (l.find("span > span").text().indexOf(title) != -1) {
links.push('http://www.6080.tv' + l.find("a[href^='/note']").attr("href"));
}
}
if (links.length == 0) {
site.addClass("disabled");
return;
} else if (links.length == 1) {
site.attr('href', links[0]);
}
site.addClass('available');
});
}
})();