账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    浏览器 如何获取当前标签页的ID信息?
    • 2019-09-25 00:00
    • 11
    39
    0

    问题出现的环境背景及自己尝试过哪些方法

    问题背景

    同一个浏览器登录多个账户,刷新各自的标签页,能实现彼此不受影响。

    思考的方案

    A 如果能得到当前标签的某个类似ID的唯一信息,那么就可以在刷新的时候通过这个唯一信息建立的索引来获取当前标签页的缓存信息。(最佳)

    B 通过监听刷新事件,临时存储在一个公共信息。这样可以保证在单次只刷新一个页面的情况下,不会受另外标签页的缓存信息影响。(应急方案)

    最终方案分享

    1. sessionStorage作为暂存标签ID的地方,来获取对应关键信息的索引。
    2. token这些还是会通过这个ID为索引存储在cookie,或者localStorage。

    有人肯定会有疑惑,从安全角度考虑token不是存在sessionStorage里面更好?并且这种支持多账户登录,也不能支持缓存登录了……

    然后我发现其实还是可以支持缓存登录的,只需在登录页面增加一个快速登录入口,对于本地多缓存账户提供一个选择登录即可。

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 基尔霍夫电流定律 普通会员 1楼

      在JavaScript中,你可以使用window.location.hash来获取当前标签页的ID信息。这个值通常以hash符号(#)开头,后面跟着页面的URL,包括协议(http或https)、域名和路径。

      例如,如果你的URL是http://www.example.com/path/to/page,那么在JavaScript中,你可以这样获取当前页面的ID:

      javascript var id = window.location.hash;

      这将返回当前页面的ID,例如,如果你的URL是http://www.example.com/path/to/page,那么id将被设置为"page"。

      注意:这个方法只适用于当前页面。如果你在其他页面中使用这个方法,那么它将获取当前页面的ID,而不是你想要的页面的ID。如果你需要获取整个页面的ID,你可以使用window.location.hash.slice()来获取hash值的字符串,然后从中提取ID。

      例如:

      javascript var id = window.location.hash.slice(1);

      这将返回整个页面的ID,例如,如果你的URL是http://www.example.com/path/to/page,那么id将被设置为"page"。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部