您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
根据天天基金页面提供的股票持仓计算预估涨幅,不代表真实涨幅
// ==UserScript== // @name 天天基金实时预估 // @description 根据天天基金页面提供的股票持仓计算预估涨幅,不代表真实涨幅 // @namespace http://tampermonkey.net/ // @version 1.11 // @author daye // @match https://fund.eastmoney.com/* // @match http://fund.eastmoney.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=github.com // @grant none // @require https://cdnjs.cloudflare.com/ajax/libs/decimal.js/9.0.0/decimal.min.js // @license MIT // ==/UserScript== (function () { 'use strict'; // Your code here... let lastTime = 0; var button = document.createElement("button"); //创建一个按钮 button.textContent = "预估净值"; //按钮内容 button.style.width = "120px"; //按钮宽度 button.style.height = "36px"; //按钮高度 button.style.align = "center"; //文本居中 button.style.color = "white"; //按钮文字颜色 button.style.background = "#e33e33"; //按钮底色 button.style.border = "10px solid #e33e33"; //边框属性 button.style.borderRadius = "4px"; //按钮四个角弧度 button.addEventListener("click", calcFund) //监听按钮点击事件 var like_comment = document.getElementById('quotationItem_DataTable'); //like_comment.appendChild(button); //把按钮加入到 x 的子节点中 button.style.width = window.getComputedStyle(like_comment).width like_comment.insertBefore(button, like_comment.children[0]) // 创建一个 MutationObserver 实例 const observer = new MutationObserver(mutations => { mutations.forEach(mutation => { // 检查是否有节点被添加或删除 if (mutation.addedNodes.length || mutation.removedNodes.length) { // 在这里处理节点变化 console.log('页面元素发生变化', mutation); calcFund(); } }); }); var stock = like_comment.getElementsByClassName('ui-table-hover')[0]; console.log(stock) // 配置 MutationObserver,监听 DOM 树的变化 observer.observe(stock, { childList: true, // 监听子节点的添加和删除 subtree: true, // 监听整个子树 attributes: true, // 监听属性变化 characterData: true // 监听文本内容变化 }); function calcFund() { let now = Date.now(); if((now-lastTime) < 1000) return; lastTime = now; console.log('计算估值',Date.now()) var tr_list = stock.children[0].children var total = Decimal(0); for (var j = 0; j < tr_list.length; j++) { var tr = tr_list[j]; //console.log(tr) var stock_name = tr.children[0].innerText; if (stock_name === '股票名称') continue; if (tr.children[2].innerText.includes('--')) continue; total = total.add(new Decimal(tr.children[1].innerText.replace('%', '')).mul(new Decimal(tr.children[2].innerText.replace('%', '')))) } //console.log(total) button.textContent = '预估净值:' + total.div(new Decimal(100)).toFixed(3, Decimal.ROUND_DOWN) + '%' }; })();