Bluesky DIDを使ったプロフィールURLで開き直す

  • /*
     * @title Bluesky DIDを使ったプロフィールURLで開き直す
     * @description アカウント名を変更しても変わらないDIDを使用したプロフィールページに移動する。プロフィールページで実行
     * @include https://bsky.app/profile/*
     * @license MIT License
     */
    
    (function(){
    if(/^https:\/\/bsky\.app\/profile\//.test(location.href) && !/\/lists\//.test(location.href) && !/\/feed\//.test(location.href) && !/\/post\//.test(location.href) && !/did:plc:/.test(location.href)){
    
    const handle=location.href.match(/^https:\/\/bsky\.app\/profile\/(.+)$/);
    
    let a=new XMLHttpRequest();
    a.onreadystatechange = function(){
    if (a.readyState == 4 && a.status == 200){
    location.href='https://bsky.app/profile/'+a.response.did; 
    }}
    
    a.open('GET','https://bsky.social/xrpc/com.atproto.identity.resolveHandle?handle='+handle[1]);
    a.responseType='json';
    a.send();
    
    };
    })();
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。