大家是怎么标记已读页面的 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
请不要在回答技术问题时复制粘贴 AI 生成的内容
FlashEcho

大家是怎么标记已读页面的

  •  
  •   FlashEcho Jan 12, 2025 2591 views
    This topic created in 473 days ago, the information mentioned may be changed or developed.

    目前应该只有给 a:visited 附加 css 样式这一个好办法,我试了 chrome 拓展 Stylus这个油猴脚本,都能部分解决问题

    但是这两个工具很依赖网站的原链接不变,比如说在本站,一个链接内容有更新之后,url 尾巴留下的记录也会变化,比如从

    t/123456#reply10 

    变成

    t/123456#reply11 

    就无法被 visited 记录了,大家有什么好的解决方法吗

    4 replies    2025-01-12 17:55:14 +08:00
    StevenRCE0
        1
    StevenRCE0  
       Jan 12, 2025   1
    这个油猴插件代码很简洁,在这里面自定义匹配逻辑应该就可以了:

    ```Javascript
    function updateLinkStatus(link) {
    if (visitedLinks.has(link.href)) {
    link.style.color = '#88C6E5';
    } else {
    link.addEventListener('click', () => {
    visitedLinks.add(link.href);
    GM_setValue('visitedLinks', Array.from(visitedLinks));
    link.style.color = '#88C6E5';
    });
    }
    }
    ```
    NoOneNoBody
        2
    NoOneNoBody  
       Jan 12, 2025   1
    不是“只有”,方法很多的,只不过你说的这个比较简单,基于浏览器自身的 history 数据库

    如果自己写脚本需要处理好获取 visited 的问题,就是需要一个历史库才能比较
    至于你说的同一页 url 不同,用正则处理一下就行了

    更复杂还有
    https://example.com/?abc=1&xyz=2...
    https://example.com/?xyz=2&abc=1...
    这些参数都一样,是同一页,但 url 不同

    就是看你的需求怎样,越复杂越难写,例如我的需求是跨浏览器的访问记录,就需要自建数据库了
    zzznow
        3
    zzznow  
       Jan 12, 2025   1
    function updateLinkStatus(link) {
    // 获取链接的 href 属性,并移除#及其后面的内容
    const cleanHref = link.href.split('#')[0];

    if (visitedLinks.has(cleanHref)) {
    link.style.color = '#88C6E5';
    } else {
    link.addEventListener('click', () => {
    visitedLinks.add(cleanHref);
    GM_setValue('visitedLinks', Array.from(visitedLinks));
    link.style.color = '#88C6E5';
    });
    }
    }
    函数替换一下就 ok...
    importmeta
        4
    importmeta  
       Jan 12, 2025
    让 AI 写油猴脚本, 取 123456 这一部分存到本地存储里, LocalStorage 或者 IndexedDB, 进来油猴脚本判断 URL 是否是包含这部分, 包含就加点样式.
    About     Help     Advertise     Blog     API     FAQ     Solana     2249 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 00:55 PVG 08:55 LAX 17:55 JFK 20:55
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86