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)){
    
    //<noscript>の部分からDIDを取得したいが、ページを移動するだけだと更新されないので取得を行う
    let a=new XMLHttpRequest();
    a.onreadystatechange = function(){
    if (a.readyState == 4 && a.status == 200){
    const did=new DOMParser().parseFromString(a.responseXML.getElementsByTagName('noscript')[0].innerHTML,'text/html').getElementById('bsky_did').innerHTML;
    location.href='https://bsky.app/profile/'+did; 
    }}
    
    a.open('GET',location.href);
    a.responseType='document';
    a.send();
    
    };
    })();
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。