gpt4 book ai didi

css - 使用 Javascript 获取浏览器历史记录?

转载 作者:行者123 更新时间:2023-11-28 13:20:40 26 4
gpt4 key购买 nike

这个问题已经被问过很多次了,但大多数都是老问题。

我尝试了几种不同的技术:

a:visited {} /* read computed style - always returns :link color*/
a:visited {} /* set height and measure that, turns out you can only set various colors */
a:link:after { content:"abc"} /* tried various styles */
/* the same restrictions apply when dealing with nested/child elements */

我试过截取 div 的“屏幕截图”并将其放入 Canvas 中,以便以这种方式获得像素颜色。

我考虑过将半透明的 div 悬停在 anchor 上,并以某种方式使用它来测量颜色。

我试过从一个你想嗅探的网站加载一个样式表并计算它需要多长时间(在第一次/第二次/...加载时)但结果很奇怪(有时它第一次加载速度就像它实际上一样通过网络比本地缓存或其他东西更快)。

<script>
var t = new Date().getTime();
</script>
<link id="test" rel="stylesheet" type="text/css" href="http://l.yimg.com/zz/combo?nn/lib/metro/g/breakingnews/breakingnews_0.0.49.css" />
<script>
document.getElementById("test").onload = function () { var ft = ((new Date().getTime()) - t) + "ms";
alert(ft);
};
</script>

Mozilla 概述了这些安全限制的原因和方式 here .

历史嗅探是否完全不可能?如果是,是否有任何标准/公认/用户友好的方式来做到这一点?

最佳答案

正如评论所强调的那样,您将无法获取浏览器历史记录信息 - 至少,如果浏览器的设计符合它们应有的设计 - 因为这是对隐私的侵犯。

有一些有限的选项:

  • history 对象有 backforwardlength 方法用于在当前窗口或框架中前后导航;但是(隐私再次)它是可读的,所以你不能做像x = window.history[0]
  • 使用 cookie(或 session ),您可以在您的网站上维护导航历史记录,并依靠该信息提供用户友好的功能,仅限于您读取 cookie/ session 数据的网站。
  • 我们可以想象一个多站点版本,首先通过一个中央站点重定向每个链接,该站点将记录历史记录,并且该站点托管一个 javascript 库,为访问的链接提供功能。它仍然依赖于通过中心位置重定向的每个链接来保存历史记录:因此它仅适用于同意这一点的网站。

关于css - 使用 Javascript 获取浏览器历史记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15959516/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com