スナックelve 本店

バツイチ40代女の日記です

404ページカスタマイズ!

f:id:elve:20220123080543p:plain
移動先がわかってるわけだから、せっかくアクセスしてくれた人には移動先をご案内したいなぁ、と。
僕の苦手なJavascript領域です。瘴気が濃い!!←酷いw

結果

デフォルトはてなブログ404
f:id:elve:20220123074518p:plain

アフター(適当URLなので移動先も404(^_^;))
f:id:elve:20220123074555p:plain

スペシャルサンクス

ベースはこちら。(jQurey を使わずに 、と言われても使う方法もわからぬレベル・・・)
h-s-hige.hateblo.jp

ソース

VisualStudioCodeが無茶な改行入れるので再インストール中(´;ω;`)

<script>
    document.addEventListener('DOMContentLoaded', function() {
        // 404ページじゃなかったら終了
        if (document.querySelector('#main-inner').getElementsByClassName('no-entry').length === 0) {
            console.log('1');
            return;
        }
        // 記事の中身(Entry is not found お探しの記事は見つかりませんでした。)なかったら終了
        var ec = document.querySelector('.entry-content');
        if (!ec) {
            console.log('2');
            return;
        }
        var h1s = ec.getElementsByTagName('h1'); // Entry is not found
        var ps = ec.getElementsByTagName('p'); // お探しの記事は見つかりませんでした。
        //コレクション→単一要素
        h1 = h1s && h1s[0];
        p = ps && ps[0];
        //要素がなかったら終了
        if (!(h1 && p)) {
            return;
        }

        // Entry is not found 書き換え
        h1.innerText = '記事は移動したかもしれません';
        // お探しの記事は見つかりませんでした。 書き換え
        p.innerText = '下記サイトのサイドバーの検索も利用していただければ幸いデス';

        // 移動先候補リンク追加
        var h2 = document.createElement('h2');
        h2.appendChild(document.createTextNode("移動先かも"));
        ec.appendChild(h2);

        var a = document.createElement('a');
        a.href = 'https://snack.elve.club' + location.pathname;
        a.appendChild(document.createTextNode('https://snack.elve.club' + location.pathname));
        ec.appendChild(a)
    }); 
</script>