You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何彻底阻止TradingView在本地存储写入数据?残留项待解决

问题

我当前使用以下代码配置TradingView Widget:

let defaultProps = {
            fullscreen: true,
            symbol: 'BTC',
            interval: constantValues.timeFrameToInterval(timeframe),
            container: "tv_coin_chart",
            library_path: "/charting_library/",
            locale: "en",
        };
        const widgetOptions = {
            symbol: symbol || defaultProps.symbol,
            // BEWARE: no trailing slash is expected in feed URL
            datafeed: new window.Datafeeds.UDFCompatibleDatafeed(
                constantValues.CHART_DATA_FEED
            ),
            interval: defaultProps.interval,
            container: "tv_coin_chart",
            library_path: '/charting_library/',
            locale: 'en',
            disabled_features: [
                'use_localstorage_for_settings',
                'save_chart_properties_to_local_storage',
                'google_analytics',
                'header_screenshot',
                'header_saveload',
                'timeframes_toolbar',
                'items_favoriting',
                'localstorage',
            ],
            chart_storage_url: 'http://saveload.tradingview.com',
            charts_storage_api_version: '1.0',
            load_last_chart: false,
            client_id: 'xxx.trade',
            user_id: 'userId',
            settings_adapter: {
                initialSettings: {},
                setValue: function (key, value) {
                    //
                },
                removeValue: function (key) {

                },
            },
            save_load_adapter: {

            },
            autosize: true,
            theme: themeQuery || theme.palette.mode
        };

        const tvWidget = new window.TradingView.widget(widgetOptions);
        window.tvWidget = tvWidget;

目前大部分数据已不再写入本地存储,但仍有三项内容残留:

tv.logger.loglevel
tvlocalstorage.available
tv.logger.logHighRate

我已通过配置以下属性阻止了大部分Cookies/本地存储写入:

disabled_features: [
                'use_localstorage_for_settings',
                'save_chart_properties_to_local_storage',
                'google_analytics',
                'header_screenshot',
                'header_saveload',
                'timeframes_toolbar',
                'items_favoriting',
                'localstorage',
            ],
settings_adapter: {
                initialSettings: {},
                setValue: function (key, value) {
                    //
                },
                removeValue: function (key) {

                },
            },

但仍无法清除这三项残留,请问是否有遗漏的配置项,或是否存在其他解决方法(包括临时修复)?


解决方案

一、补充配置项调整

这三个残留项属于TradingView内部日志和存储可用性检测相关内容,可在disabled_features中新增两个配置项直接拦截:

  • logging:禁用内部日志系统,阻止日志级别相关存储项生成
  • localstorage_availability_check:禁止库检测本地存储可用性,避免生成tvlocalstorage.available

更新后的disabled_features数组:

disabled_features: [
    'use_localstorage_for_settings',
    'save_chart_properties_to_local_storage',
    'google_analytics',
    'header_screenshot',
    'header_saveload',
    'timeframes_toolbar',
    'items_favoriting',
    'localstorage',
    'logging', // 新增:禁用日志系统
    'localstorage_availability_check' // 新增:禁用本地存储可用性检测
],

二、临时修复方案

如果上述配置不生效,可在Widget初始化完成后主动清除并监听拦截:

// 监听图表加载完成事件
tvWidget.onChartReady(function() {
    // 清除已存在的残留项
    localStorage.removeItem('tv.logger.loglevel');
    localStorage.removeItem('tvlocalstorage.available');
    localStorage.removeItem('tv.logger.logHighRate');
    
    // 监听localStorage变化,防止后续重复写入
    window.addEventListener('storage', function(e) {
        const blockedKeys = ['tv.logger.loglevel', 'tvlocalstorage.available', 'tv.logger.logHighRate'];
        if (blockedKeys.includes(e.key)) {
            localStorage.removeItem(e.key);
        }
    });
});

三、额外优化建议

如果不需要云端存储功能,可直接移除chart_storage_url、charts_storage_api_version相关配置,减少不必要的存储交互;另外部分旧版本TradingView库对禁用项支持有差异,可尝试升级到最新稳定版。

内容的提问来源于stack exchange,提问作者Ice Wine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 14:36:30