// ==UserScript==
// @name MCBBS 自定义背景
// @namespace http://fang.blog.miri.site/
// @version 2.4.0
// @icon https://s2.ax1x.com/2020/02/25/3twNzq.png
// @description 自定义mcbbs的背景
// @author Mr_Fang
// @match https://*.mcbbs.net/*
// @grant none
// @downloadURL https://update.greasyfork.icu/scripts/397762/MCBBS%20%E8%87%AA%E5%AE%9A%E4%B9%89%E8%83%8C%E6%99%AF.user.js
// @updateURL https://update.greasyfork.icu/scripts/397762/MCBBS%20%E8%87%AA%E5%AE%9A%E4%B9%89%E8%83%8C%E6%99%AF.meta.js
// ==/UserScript==
(function() {
// 定义变量
var storage = window.localStorage;
var mbg_url = storage.getItem('mbg_url');
var mbg_opacity = storage.getItem('mbg_opacity');
var mbg_border_top = storage.getItem('mbg_border_top');
var mbg_bg_xoffset = storage.getItem('mbg_bg_xoffset');
var version = "2.4.0"; // 不要动版本号
// 无法加载jq自动禁用
if (typeof jQuery == 'undefined') {
console.error("%cMCBBS 自定义背景脚本已停止运行:\n无法加载jQuery。", "font-weight:bold");
return false;
}
// 在手机版自动禁用
if (document.getElementsByTagName('meta').viewport) {
console.error("%cMCBBS 自定义背景脚本已停止运行:\n不支持手机版论坛运行。", "font-weight:bold");
return false;
}
// 更新提醒
if(storage.getItem('mbg_version') != version){
showDialog('
MCBBS 自定义背景已成功从 V'+ storage.getItem('mbg_version') +' 更新至 V'+ version +'
此次更新内容:
- 同步抢先体验版特性
',
'confirm',
'
自定义背景
',
function() {
storage["mbg_version"] = version;
}
);
}
console.log(" %c MCBBS 自定义背景 %c V"+ version +" ", "color: #fff; background: #f8981d; padding:5px;", "color:#fff; background: #000; padding:5px;");
console.log(" %c Made by %c 快乐小方 ", "color: #fff; background: #815098; padding:5px;", "color:#fff; background: #000; padding:5px;");
// 判断透明度是否为空
if(mbg_opacity == null){
mbg_opacity = 100;
}
// 判断X偏移量是否为空
if(mbg_bg_xoffset == null){
mbg_bg_xoffset = 50; // 默认是居中显示的(50%)
}
// 判断此页中是否存个人信息菜单
if(jq('.user_info_menu_btn').length>0) {
// 如存在,在个人信息菜单中添加按钮
jq('.user_info_menu_btn').append('自定义背景');
// 设置窗口
document.getElementById('bg_setting').addEventListener('click',function(){
showDialog('',
'right',
'
自定义背景
',
function() {
storage["mbg_url"] = document.getElementById("mbg_url_input").value;
storage["mbg_opacity"] = document.getElementById("mbg_opacity_input").value;
storage["mbg_bg_xoffset"] = document.getElementById("mbg_xoffset_input").value;
storage["mbg_border_top"] = document.getElementById("mbg_border_top_input").value;
},
true,
{},
'MCBBS 自定义背景 V2.4'
);
})
}
//***** 反馈版发帖警告 开始 *****//
var filename = window.location.href.split("/").slice(window.location.href.split("/").length - 1,window.location.href.split("/").length).toString(String).split(".")[0];
function GetQueryValue(queryName) {
var query = decodeURI(window.location.search.substring(1));
var vars = query.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
if (pair[0] == queryName) { return pair[1]; }
}
return null;
}
if(filename == "forum" && GetQueryValue('mod') == "post" && GetQueryValue('action') == "newthread" && GetQueryValue('fid') == "246"){
showDialog('你正在向反馈与投诉版发布帖子如果你正在反馈BUG,请先关闭此脚本再次尝试触发BUG。如果你能确定并不是由此脚本引发的BUG,请忽略本提醒。
',
'right',
'
来自MCBBS自定义背景脚本的警告 ',
{},
true,
{},
'反馈脚本BUG'
);
}
//***** 反馈版发帖警告 结束 *****//
var mbg_urlList = [];
var bg_css = '';
// 判断是背景否为空
if(mbg_url == null || mbg_url == ""){
// 如果为空直接用mcbbs自己的背景
mbg_urlList = [''];
}else{
// 如果不为空使用自定义背景
mbg_url = "['" + storage.getItem('mbg_url') + "']";
var n = mbg_url.split('\n').length - 1;
for(var l=0;l').insertBefore(".mc_map_border_top");
}
// 在head里添加css
jq("head").append('');
})();