// ==UserScript== // @name 雪球助手 // @namespace http://tampermonkey.net/ // @version 0.9 // @description 愉快地在雪球、理性仁等网站之间玩耍(跳转) // @author 小紫baby // @include /^https:\/\/(xueqiu|www\.lixinger)+\.com.*/ // @grant none // @downloadURL none // ==/UserScript== /*eslint-disable*/ (function () { 'use strict' function normalizeCode(code) { return code && code.replace(/[a-z]+/gi, '') } function getLixingrenStockPageUrl(code) { var stockCode = normalizeCode(code) // 美股不支持 if (!stockCode) return '' // 港股 if (/^\d{5}$/.test(code)) { return 'https://www.lixinger.com/analytics/company/hk/' + stockCode + '/detail/fundamental/value' } // 深市 000A股 002中小板 20B股 30创业板股票 if (/^SZ[023]0\d{4}$/.test(code)) { return 'https://www.lixinger.com/analytics/company/sz/' + stockCode + '/detail/fundamental/value' } // 上市 60A股 90B股 if (/^SH[69]0\d{4}$/.test(code)) { return 'https://www.lixinger.com/analytics/company/sh/' + stockCode + '/detail/fundamental/value' } // 深市指数 if (/^SZ39\d{4}$/.test(code)) { return 'https://www.lixinger.com/analytics/indice/sz/' + stockCode + '/detail/value' } // 上市指数 if (/^SH00\d{4}$/.test(code)) { return 'https://www.lixinger.com/analytics/indice/sh/' + stockCode + '/detail/value' } // 深市ETF 15 16 if (/^SZ1[56]\d{4}$/.test(code)) { return 'https://www.lixinger.com/analytics/fund/sz/' + stockCode + '/detail' } // 上市ETF if (/^SH51\d{4}$/.test(code)) { return 'https://www.lixinger.com/analytics/fund/sh/' + stockCode + '/detail' } return '' } function setHrefAttribute (el, code) { var url = getLixingrenStockPageUrl(code) if (!url) { console.log('不支持的证券代码:' + code) return } el.attr('href', url) } if (location.host === 'xueqiu.com') { /** * 主页自选股跳转到理性仁 */ var linkSelector = '#optional tr.sortable a.code' $(document.body).on('click', linkSelector, function(e) { var href = $(this).attr('href') if (href.indexOf('www.lixinger.com') > -1) { return } var code = href.replace('/S/', '') setHrefAttribute($(this), code) }) /** * 兼容旧版主页 */ var oldTitleSelector = 'tr[data-symbol] span.title' var oldSymbolSelector = 'tr[data-symbol] span.subtitle' $(document.body).on('mouseenter', oldTitleSelector, function(e) { var code = $(this).parents('tr[data-symbol]').attr('data-symbol') $(this).parent().attr('href', '/S/' + code) }) $(document.body).on('mouseenter', oldSymbolSelector, function(e) { var code = $(this).parents('tr[data-symbol]').attr('data-symbol') setHrefAttribute($(this).parent(), code) }) /** * 股票页跳转到理性仁 */ var titleSelector = '#app .stock-name' $(titleSelector).eq(0).after('
' + '
') $('.lxr-icon').one('mouseenter', function() { var code = location.pathname.replace('/S/', '') setHrefAttribute($(this), code) }) } })()