kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
阅读:6198回复:14

有无办法永久保存链接的已访问痕迹

楼主#
更多 发布于:2021-10-13 20:40
有个很纳闷的地方,我经常逛论坛,有些链接我明明逛过了,历史记录也一直有的,但是当下点击的时候能看到访问过的痕迹,过一段时间后这些痕迹又不见了,不知道为什么?有什么办法可以永久保存吗?即便我重新设置已访问链接为别的颜色,一样只能保存几天,不知道是哪里出了问题。
kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
1楼#
发布于:2021-10-13 21:06
我估计可能是每个帖子链接的末尾加了个【extra=page=1】【extra=page=2】类似这样的,不知道当这个链接不与上次处在同一页码时,访问的浏览痕迹就失效了。
hmcgft
小狐狸
小狐狸
  • UID30467
  • 注册日期2009-09-24
  • 最后登录2021-10-14
  • 发帖数69
  • 经验28枚
  • 威望0点
  • 贡献值14点
  • 好评度2点
2楼#
发布于:2021-10-14 09:30
kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
3楼#
发布于:2021-10-14 18:31
hmcgft:firefox扩展
visited link enabler
https://addons.mozilla.org/zh-CN/firefox/addon/visited-link-enabler/?utm_content=addons-m...
回到原帖
感谢,试用了一下,发现不能自定义规则,而且也是有同样的问题,当已访问的主题出现在别的页码时,就被视为未访问了。我自己也用Header Editor修改去除【extra=page=】发现没有卵用,只能在点击后才发生重定向事件。
kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
4楼#
发布于:2021-11-04 22:30
(function() {
    'use strict';
   
   
  var x = document.querySelectorAll(".s.xst[href*='extra=page']");
  if (x.length > 0) {
    for (let i = 0; i < x.length; i++) {
         console.log(x[i].href.replace(/(forum\.php\?mod=viewthread&tid=\d+)(&extra=page%3D\d+)(.*)/g,"$1$3"))
                                       }
                    }  
     
  })();

论坛链接的内容大概是这样的,具体论坛不可描述,在此不便放出,还望见谅:
https://www.firefox.net.cn/forum.php?mod=viewthread&tid=684425&extra=page%3D1
https://www.firefox.net.cn/forum.php?mod=viewthread&tid=679749&extra=page%3D100&page=7
https://www.firefox.net.cn/forum.php?mod=viewthread&tid=684381&extra=page%3D4&page=2



我自己尝试写了个脚本,索性遍历所有论坛帖子链接(不适用于本论坛),然后逐个去除【extra=page】,发现控制台输出是有效的,但我把console.log替换成 document.write却又没有效果,不知道为什么
另外,我平时是搭配Super_preloaderPlus_one_New自动翻页的,不知道该添加什么样的代码,即便是自动翻页,新页的链接依旧能去除【extra=page】呢?
kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
5楼#
发布于:2021-11-05 00:23
function remove() {
  if (!window.location.href.match('www.firefox.net.cn')) return
 
  let run = () => {
    let cnt = 0
    let aList = document.querySelectorAll(".s.xst[href*='extra=page']")
    for (let a of aList) {
      const href = a.getAttribute('href')
      var url = href.replace(/(forum\.php\?mod=viewthread&tid=\d+)(&extra=page%3D\d+)(.*)/g,"$1$3")
        a.setAttribute('href', url)
        ++cnt
      }
     
    return cnt > 0
  }
 
  run()
 
  let MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver
 
  let observer = new MutationObserver(function (mutations) {
    run()
  })
 
  observer.observe(document.body, {
    childList: true,
    subtree: true
  })
}
 
 
 
(function () {
  'use strict';
  remove()
})();
终于搞定!!借鉴了https://greasyfork.org/zh-CN/scripts/431920
lonely_8
非常火狐
非常火狐
  • UID30273
  • 注册日期2009-09-03
  • 最后登录2022-08-09
  • 发帖数733
  • 经验469枚
  • 威望0点
  • 贡献值86点
  • 好评度147点
  • 社区居民
  • 忠实会员
6楼#
发布于:2021-11-05 19:45
使用 ubO 能很简单地重定向去掉,
||www.firefox.net.cn^$document,queryprune=extra
多个参数还可以使用正则
||www.firefox.net.cn^$document,queryprune=/^(extra|extra1|extra2)=/
kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
7楼#
发布于:2021-11-07 00:28
lonely_8:使用 ubO 能很简单地重定向去掉,
||www.firefox.net.cn^$document,queryprune=extra
多个参数还可以使用正则
||www.firefox.net.cn^$document,queryprune...
回到原帖
没有效果哦,不是很清楚这两条规则的用法
lonely_8
非常火狐
非常火狐
  • UID30273
  • 注册日期2009-09-03
  • 最后登录2022-08-09
  • 发帖数733
  • 经验469枚
  • 威望0点
  • 贡献值86点
  • 好评度147点
  • 社区居民
  • 忠实会员
8楼#
发布于:2021-11-07 14:49
kidzgy:没有效果哦,不是很清楚这两条规则的用法回到原帖
复制到 uBO 的自定义静态规则里就行,然后点击你在 4 楼所发的链接就能看到效果。
注意该类型规则前面的域名是你想要的去掉某参数的链接域名,而不是链接所在页面的域名。
需要 uBO 1.32.0 及以上版本才能支持,详细参考:
https://github.com/uBlockOrigin/uBlock-issues/wiki/Static-filter-syntax#removeparam
kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
9楼#
发布于:2021-11-07 19:25
lonely_8:复制到 uBO 的自定义静态规则里就行,然后点击你在 4 楼所发的链接就能看到效果。
注意该类型规则前面的域名是你想要的去掉某参数的链接域名,而不是链接所在页面的域名。
需要 uBO 1.32.0 及以上版本才能支持,详细参考:
ht...
回到原帖
原来如此我明白了,但是实际的效果是这样的:
页面的访问痕迹,其实是根据链接的href属性鉴别的,如果通过ubo加的规则,是要在鼠标左键点击之后才跳转,跟header editor跳转其实没有本质的区别,ubo和he都没有从href属性上去掉extra属性。
而5楼的脚本内容,可以在鼠标点击之前,直接从href属性去除extra参数,以达到浏览器鉴别是否已访问。
ahlmkk
火狐狸
火狐狸
  • UID24522
  • 注册日期2008-06-09
  • 最后登录2022-10-30
  • 发帖数281
  • 经验64枚
  • 威望0点
  • 贡献值24点
  • 好评度4点
  • 社区居民
  • 忠实会员
10楼#
发布于:2021-12-23 21:20
kidzgy:function remove() {
  if (!window.location.href.match('www.firefox.net.cn')) return
 
  let run = () => {
    let...
回到原帖
所谓保存,是指访问过的链接用不同的颜色标记么?
kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
11楼#
发布于:2021-12-24 16:27
ahlmkk:所谓保存,是指访问过的链接用不同的颜色标记么?回到原帖
额,我的理解是这样的:一般意义上,我们鼠标左键点击过的链接,此时文字颜色会变成紫色,,但我上述讨论的内容呢,论坛上的帖子链接其实是可变的,因为链接末尾附带了extra=page的参数,会让浏览器误以为没点击过。
我是用[id^="normalthread"] .s.xst:visited {color: #dfdfdf !important;}来标记论坛帖子已访问的颜色的。
ahlmkk
火狐狸
火狐狸
  • UID24522
  • 注册日期2008-06-09
  • 最后登录2022-10-30
  • 发帖数281
  • 经验64枚
  • 威望0点
  • 贡献值24点
  • 好评度4点
  • 社区居民
  • 忠实会员
12楼#
发布于:2021-12-25 17:46
kidzgy:额,我的理解是这样的:一般意义上,我们鼠标左键点击过的链接,此时文字颜色会变成紫色,,但我上述讨论的内容呢,论坛上的帖子链接其实是可变的,因为链接末尾附带了extra=page的参数,会让浏览器误以为没点击过。
我是用 .s.xst:vis...
回到原帖
这个变色的标记,不会因为extra=page参数受影响么
kidzgy
火狐狸
火狐狸
  • UID35190
  • 注册日期2011-02-03
  • 最后登录2024-03-28
  • 发帖数248
  • 经验196枚
  • 威望0点
  • 贡献值122点
  • 好评度17点
13楼#
发布于:2021-12-25 20:01
ahlmkk:这个变色的标记,不会因为extra=page参数受影响么回到原帖
会因为extra=page参数受影响,因为加多了个参数,相当于全新的一个网址,浏览器不会识别为已访问过。
ahlmkk
火狐狸
火狐狸
  • UID24522
  • 注册日期2008-06-09
  • 最后登录2022-10-30
  • 发帖数281
  • 经验64枚
  • 威望0点
  • 贡献值24点
  • 好评度4点
  • 社区居民
  • 忠实会员
14楼#
发布于:2021-12-28 20:37
kidzgy:会因为extra=page参数受影响,因为加多了个参数,相当于全新的一个网址,浏览器不会识别为已访问过。回到原帖
好的,谢谢解惑
游客

返回顶部