Skip to content

Commit 2b9c667

Browse files
committed
add
1 parent 6c256d5 commit 2b9c667

2 files changed

Lines changed: 161 additions & 0 deletions

File tree

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
// ==UserScript==
2+
// @name Bilibili Bangumi Cover
3+
// @name:zh-CN 哔哩哔哩番剧封面
4+
// @namespace hoothin
5+
// @version 0.1
6+
// @description Show Bilibili Bangumi Cover
7+
// @description:zh-CN 在哔哩哔哩番剧页面中显示封面
8+
// @grant GM_xmlhttpRequest
9+
// @author hoothin
10+
// @include http*://bangumi.bilibili.com/anime/v/*
11+
// ==/UserScript==
12+
13+
(function() {
14+
'use strict';
15+
var vSmall=document.querySelector(".v_small");
16+
var title=document.createElement("h3");
17+
title.classList.add("v1-bangumi-head-h3");
18+
title.style.display="block";
19+
title.innerHTML="封面";
20+
var coverLink=document.createElement("a");
21+
var cover=document.createElement("img");
22+
cover.style.width="270px";
23+
coverLink.target="_blank";
24+
coverLink.appendChild(cover);
25+
vSmall.insertBefore(coverLink,vSmall.firstChild);
26+
vSmall.insertBefore(title,vSmall.firstChild);
27+
var bangumiIndex=document.querySelector(".v1-bangumi-info-title>a");
28+
if(bangumiIndex){
29+
GM_xmlhttpRequest({
30+
method: 'GET',
31+
url: bangumiIndex.href,
32+
onload: function(result) {
33+
var doc = null;
34+
try {
35+
doc = document.implementation.createHTMLDocument('');
36+
doc.documentElement.innerHTML = result.responseText;
37+
}
38+
catch (e) {
39+
console.log(e);
40+
}
41+
if (!doc) {
42+
return;
43+
}
44+
var img=doc.querySelector("a.v1-complete-text[href='"+location.href+"']>div>img");
45+
if(img){
46+
coverLink.href=cover.src=img.src.replace(/\d+_\d+|_\d+x\d+\.jpg/,"");
47+
}
48+
}
49+
});
50+
}
51+
})();
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
// ==UserScript==
2+
// @name 百Bing图
3+
// @name:en BingBgForBaidu
4+
// @namespace hoothin
5+
// @version 1.0
6+
// @description 把百度首页背景图换成Bing的
7+
// @description:en Just change the background image of baidu.com to bing.com
8+
// @author hoothin
9+
// @grant GM_xmlhttpRequest
10+
// @grant GM_setValue
11+
// @grant GM_getValue
12+
// @grant GM_addStyle
13+
// @connect cn.bing.com
14+
// @run-at document-body
15+
// @include *://www.baidu.com/
16+
// @include *://www.baidu.com/home*
17+
// @include *://www.baidu.com/?tn=*
18+
// @include *://www.baidu.com/index.php*
19+
// ==/UserScript==
20+
21+
(function() {
22+
'use strict';
23+
var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
24+
var head=document.querySelector("#head");
25+
if(GM_getValue("baiBing")===undefined){
26+
GM_setValue("baiBing",true);
27+
GM_setValue("baiBingWhiteLogo",true);
28+
}
29+
if(GM_getValue("baiBing")){
30+
setBingBg();
31+
}
32+
var setObserver = new MutationObserver(function(records){
33+
var definedBtn=document.querySelector(".defined-btn-no");
34+
var check=document.querySelector("#bingCheck");
35+
if(definedBtn && !check){
36+
var label=document.createElement("label");
37+
label.setAttribute("style","float:left;margin-top:25px;margin-left:10px;");
38+
label.innerHTML="<input id='bingCheck' type='checkbox'>Bing图";
39+
label.classList.add("recommend");
40+
definedBtn.after(label);
41+
check=document.querySelector("#bingCheck");
42+
document.querySelector(".defined-btn-yes").addEventListener("click", function(){
43+
if(check.checked){
44+
if(!GM_getValue("baiBing"))setBingBg();
45+
}else{
46+
if(GM_getValue("baiBing"))location.reload();
47+
}
48+
GM_setValue("baiBing",check.checked);
49+
GM_setValue("baiBingWhiteLogo",document.querySelector("#s_skin_exhibition_options").classList.contains("white"));
50+
});
51+
check.checked=!!GM_getValue("baiBing");
52+
}
53+
});
54+
var option = {
55+
'childList': true
56+
};
57+
setObserver.observe(head, option);
58+
59+
function setBingBg(){
60+
var ctnerContents=document.querySelector("#s_ctner_contents");
61+
var menuContainer=document.querySelector(".s-menu-container");
62+
if(!ctnerContents||!menuContainer)return;
63+
if(!head.classList.contains("s-skin-hasbg")){
64+
head.classList.add("s-skin-hasbg");
65+
GM_addStyle(".s-mod-weather .unknown-text, .unknown-city, .city-wather a, .city-wather em, .city-wather span, .show-pollution a, .show-pollution em, .show-pollution span, .s-upfunc-menus .s-icons a {color: #fff!important;}");
66+
GM_addStyle(".s-skin-hasbg .s-top-wrap {border: none;background: none;background-image: -webkit-gradient(linear,left top,left bottom,from(rgba(15,25,50,.3)),to(rgba(15,25,50,.3)));background-image: -moz-linear-gradient(rgba(15,25,50,.3) 0,rgba(15,25,50,.3) 100%);background-image: -ms-linear-gradient(rgba(15,25,50,.3) 0,rgba(15,25,50,.3) 100%);background-image: -o-linear-gradient(rgba(15,25,50,.3) 0,rgba(15,25,50,.3) 100%);background-image: linear-gradient(rgba(15,25,50,.3) 0,rgba(15,25,50,.3) 100%);filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#330f1932,endColorstr=#330f1932);}");
67+
GM_addStyle(".s-opacity-50 .s-ctner-menus .s-menu-item:hover {color: #333 !important;background-color: transparent !important;background-image: -webkit-gradient(linear,left top,left bottom,from(rgba(240,240,240,.2)),to(rgba(240,240,240,.2))) !important;background-image: -moz-linear-gradient(rgba(240,240,240,.2) 0,rgba(240,240,240,.2) 100%) !important;background-image: -ms-linear-gradient(rgba(240,240,240,.2) 0,rgba(240,240,240,.2) 100%) !important;background-image: -o-linear-gradient(rgba(240,240,240,.2) 0,rgba(240,240,240,.2) 100%) !important;background-image: linear-gradient(rgba(240,240,240,.2) 0,rgba(240,240,240,.2) 100%) !important;filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#33f0f0f0,endColorstr=#33f0f0f0) !important;}");
68+
ctnerContents.setAttribute("style", "background: none !important;background-image: -webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0.5)),to(rgba(255,255,255,0.5))) !important;background-image: -moz-linear-gradient(rgba(255,255,255,0.5) 0%,rgba(255,255,255,0.5) 100%) !important;background-image: -ms-linear-gradient(rgba(255,255,255,0.5) 0%,rgba(255,255,255,0.5) 100%) !important;background-image: -o-linear-gradient(rgba(255,255,255,0.5) 0%,rgba(255,255,255,0.5) 100%) !important;background-image: linear-gradient(rgba(255,255,255,0.5) 0%,rgba(255,255,255,0.5) 100%) !important;filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#7FFFFFFF,endColorstr=#7FFFFFFF) !important;");
69+
menuContainer.setAttribute("style", "background: none !important;background-image: -webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0.5)),to(rgba(255,255,255,0.5))) !important;background-image: -moz-linear-gradient(rgba(255,255,255,0.5) 0%,rgba(255,255,255,0.5) 100%) !important;background-image: -ms-linear-gradient(rgba(255,255,255,0.5) 0%,rgba(255,255,255,0.5) 100%) !important;background-image: -o-linear-gradient(rgba(255,255,255,0.5) 0%,rgba(255,255,255,0.5) 100%) !important;background-image: linear-gradient(rgba(255,255,255,0.5) 0%,rgba(255,255,255,0.5) 100%) !important;filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#7FFFFFFF,endColorstr=#7FFFFFFF) !important;");
70+
}
71+
GM_xmlhttpRequest({
72+
method: 'GET',
73+
url: "http://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&pid=hp&video=1&n=1",
74+
onload: function(result) {
75+
var jsonData = null;
76+
try {
77+
jsonData = JSON.parse(result.responseText);
78+
var bgUrl="url(\""+jsonData.images[0].url+"\")";
79+
var skinContainer=document.querySelector(".s-skin-container");
80+
if(!skinContainer){
81+
return;
82+
}
83+
var bingBgLink=document.createElement("a");
84+
bingBgLink.title="Bing图";
85+
bingBgLink.href=jsonData.images[0].url;
86+
bingBgLink.innerHTML="<span class='title'>Bing图</span>";
87+
document.querySelector("#s_icons").appendChild(bingBgLink);
88+
if(skinContainer.style.backgroundImage != bgUrl){
89+
skinContainer.style.backgroundImage = bgUrl;
90+
}
91+
var observer = new MutationObserver(function(records){
92+
if(skinContainer.style.backgroundImage != bgUrl){
93+
skinContainer.style.backgroundImage = bgUrl;
94+
}
95+
});
96+
var option = {
97+
'attributes': true
98+
};
99+
observer.observe(skinContainer, option);
100+
if(GM_getValue("baiBingWhiteLogo")){
101+
var logo=document.querySelector("#s_lg_img");
102+
logo.src=logo.src.replace(/\/[^\/]+$/,"/logo_white.png");
103+
}
104+
}catch (e) {
105+
console.log(e);
106+
}
107+
}
108+
});
109+
}
110+
})();

0 commit comments

Comments
 (0)