一个奇葩的需求!
补充说明2:其实只是想找一个确定“页面”或“超链接”的“已访问”状态,而不借助任何的存储!
如何在不读写LocalStorage、IndexedDB、Cookie之类的情况下,如何判断一个网页在打开时是已被访问过?
或如何得知一个超链接的已访问状态?
补充说明:我并不是要设置其CSS样式!
补充说明2:
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
利用 a:visited css 访问过的链接样式区分。
<style type="text/css"> .nealnote:link { color: blue; } .nealnote:visited { color: red; } .nealnote:hover { color: blue; } .nealnote:actve { color: blue; } </style> <a class="nealnote" href="https://segmentfault.com/q/1010000007544678">https://segmentfault.com/q/1010000007544678</a> <a class="nealnote" href="https://www.baidu.com/?q=visited">https://www.baidu.com/?q=visited</a>
访问过的链接的color是 red,未访问过的链接color是 blue
如果拦截所有的url请求,并获取保存url和访问用户(或ip),如果存在了当前ip对该url的数据,即视为访问过。也许可行。。
有点奇怪的需求
这样看看能否符合你的需求,在你的页面中隐藏一个极小的图片,然后JS判断这个图片是否在缓存中,在的话就代表已被访问,不在自然就没有被访问了。
var url = "./a.png"; var img = new Image(); img.src = url; if(img.complete || img.width) { console.log('已经访问过!!!') }
当然是用localStorage cookie 这些存储机制了, 你要是说不用这些,那不是扯蛋吗。
这种需求还真没遇见过,不过你提到了用js来处理,给你一个思路,给url添加hash。
如果你是要在浏览器地址栏中输入url,然后想知道是否之前就访问过,不记录状态,我想应该是不能实现的,如果有方案,我也可以了解一下。
利用 a:visited css 访问过的链接样式区分。
访问过的链接的color是 red,未访问过的链接color是 blue
如果拦截所有的url请求,并获取保存url和访问用户(或ip),如果存在了当前ip对该url的数据,即视为访问过。也许可行。。
有点奇怪的需求
这样看看能否符合你的需求,在你的页面中隐藏一个极小的图片,然后JS判断这个图片是否在缓存中,在的话就代表已被访问,不在自然就没有被访问了。
当然是用localStorage cookie 这些存储机制了, 你要是说不用这些,那不是扯蛋吗。
这种需求还真没遇见过,不过你提到了用js来处理,给你一个思路,给url添加hash。
如果你是要在浏览器地址栏中输入url,然后想知道是否之前就访问过,不记录状态,我想应该是不能实现的,如果有方案,我也可以了解一下。