// ==UserScript==
// @name 天天基金 - 基金PC详情页精简
// @namespace Violentmonkey Scripts
// @grant none
// @description 移除页面乱七八糟的内容, 专注走势和净值
// @version 1.0.4
// @author SkayZhang
// @license MIT
// @icon https://j5.dfcfw.com/image/201502/20150227144530.png
// @supportURL https://greasyfork.org/zh-CN/scripts/436307/feedback
// @match *://fund.eastmoney.com/*
// @description 2021/11/30 上午10:54:52
// @require https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js
// ==/UserScript==
(function () {
'use strict'
let id = ""
let chatDom
$("body>*").css("opacity","0")
let state = localStorage.getItem("cleanState")
setTimeout(()=>{
if(state){
main.init()
main.clean()
main.build()
}else main.addBtn()
},500);
let main = {
init(){
id = window.location.pathname.replace("/","")
id = id.substring(0,id.indexOf("."))
$("body").append(`<style>.estimatedMap .estimatedchart{padding:0} .fund-common-second-menu{padding-bottom:5px;} .title{padding-left:7px;font-size:23px;line-height:28px;float:left;} .btnBox{display:flex;align-items:center;justify-content:center;} .btn{cursor:pointer;margin:0 7.5px;width:80px;height:40px;background-color:#4372ba;color:#fff;display:flex;align-items:center;justify-content:center;border-radius:8px;}</style>`)
chatDom = $(".estimatedchart").html()
},
clean(){
// 移除顶部广告
$("body>div[id!=body]").first().remove()
// 待移除元素列表
let removeList = ["#rightadvert","#BottomSwith","#_AdSame_divsub_pd",".buyWayWrap",".fund_item.quotationItem_DataMap.popTab",".choseBuyWay-shadow",".dropdown.head-item.droplist",".logo.fl","h1.fl",".item_title.hd",".quotationItem",".estimatedsideInfo",".fundDetail-footer",".fundDetail-tools",".fl.links","#referAd1",".referAdDiv"]
// 遍历列表并移除元素
for(let i in removeList){
$(removeList[i]).remove()
}
// 待移除元素下级列表
let removeSubList = [".adcommon",".fundtypeNav",".SitePath",".lazy",".recentBrowse",".declare",".cpright",".cls_btn","#float_phone"]
// 遍历下级列表并移除元素
for(let i in removeSubList){
$(removeSubList[i]).parent().remove()
}
},
build(){
// 移动走势图未知
$(".choseBuyWay").append(`<div class="estimatedMap" id="estimatedMap"><div class="estimatedchart hasLoading">${chatDom}</div></div>`)
$(".choseBuyWay img").css("width","430px")
$(".merchandiseDetail .fundDetail-main").css("border","1px solid #cce0ff")
// 加入脚本控制按钮
$(".fundDetail-main").css("height","270px")
$(".fundInfoItem").append(`<div class="btnBox"><div class="btn" onclick="javascript:location.reload();">刷新页面</div><div class="btn" onclick="javascript:localStorage.removeItem('cleanState');location.reload();">正常模式</div></div>`)
// 修改页面头部
$(".inner").prepend(`<div class="title">${$(".fundDetail-tit").text()}</div>`);
$(".fundDetail-header").remove();
// 移除顽固内容
let cleanAIAssistant = setInterval(()=>{
if($("#AIAssistant")){
let domHtml = $("#AIAssistant").html()
if(domHtml && domHtml.length>5){
$("#AIAssistant").remove();
clearInterval(cleanAIAssistant)
main.update();
}
}
},500);
$("body>*").css("opacity","1")
},
addBtn(){
$("body").append(`<style>#cleanBtn{cursor:pointer;position:fixed;left:15px;bottom:calc(50vh - 30px);width:60px;height:60px;background-color:#4372ba;color:#fff;display:flex;align-items:center;justify-content:center;border-radius:8px;}</style>`)
$("body").append(`<div id="cleanBtn" onclick="javascript:localStorage.setItem('cleanState','true');location.reload();"><div>精简模式</div></div>`)
$("body>*").css("opacity","1")
},
update(){
// 清除所有计时器
let end = setInterval(()=>{}, 100);
for (let i = 1; i <= end; i++) {
clearInterval(i);
}
// 开始准备更新趋势图和净值
let img = $("#estimatedMap").find("img");
let imgurl = $(img).attr("src");
setInterval(function() {
let today = new Date();
if (today.getDay() > 0 && today.getDay() < 6) {
if (today.getHours() >= 9 && today.getHours() < 12) {
$(img).attr("src", imgurl + "?v=" + Math.random())
main.queryData()
} else {
if (today.getHours() >= 13 && today.getHours() < 15) {
$(img).attr("src", imgurl + "?v=" + Math.random())
main.queryData()
}
}
}
}, 30000)
},
queryData(){
// 跨域请求获取净值
var _script = document.createElement("script");
_script.setAttribute("charset", "utf-8");
_script.setAttribute("type", "text/javascript");
_script.setAttribute("src", "http://fundgz.1234567.com.cn/js/" + id + ".js?rt=" + new Date().getTime());
document.getElementsByTagName("head")[0].appendChild(_script);
if(/safari/.test(window.navigator.userAgent.toLowerCase())){
_script.parentNode.removeChild(_script);
}else{
_script.onload = function() {
_script.parentNode.removeChild(_script);
}
}
}
}
})();