insert a link go finviz chart link
// ==UserScript==
// @name tradingview chart assistant
// @namespace http://tampermonkey.net/
// @version 2024-09-25.3
// @description insert a link go finviz chart link
// @author goodzhuwang
// @match https://*.tradingview.com/chart/*/?symbol=*
// @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant none
// @license MIT
// ==/UserScript==
function findElementsByClassRegex(classNameRegex) {
const selector = `*[class*="${classNameRegex.source}"]`;
return document.querySelectorAll(selector);
}
(function () {
"use strict";
const ext_name = "tradingview_chart_assistant";
console.debug(`${ext_name} running`);
let max_times = 10;
let times = 0;
let _interval = setInterval(function () {
// 达到最大次数,就算了。
if (times >= max_times) {
console.debug(`${ext_name}达到最大检测次数,算了`);
if (_interval) {
clearInterval(_interval);
_interval = null;
}
}
let symbol = document.querySelector(".js-button-text")?.textContent;
if (!symbol) {
console.debug(`没有找到股票代码`);
return;
}
// 在特定的的位置插入一个a
const targets = findElementsByClassRegex(/filler-/);
const domElement = targets && targets.length && targets[0];
if (!domElement) {
console.debug(`没有找到插入位置`);
} else {
let finviz_link_url = `https://finviz.com/quote.ashx?t=${symbol}&ty=c&ta=1&p=d`;
let finvize_link = document.querySelector("._TCA_finviz-link");
if (!finvize_link) {
const aTag = document.createElement("a");
aTag.href = finviz_link_url;
aTag.textContent = "F";
aTag.classList.add("button-I_wb5FjE");
aTag.classList.add("_TCA_finviz-link");
aTag.style.cursor = "pointer";
aTag.title = "点击查看finviz图表";
aTag.target = "_blank";
domElement.insertBefore(aTag, domElement.firstChild);
}
}
times++;
}, 5000);
})();