移動先がわかってるわけだから、せっかくアクセスしてくれた人には移動先をご案内したいなぁ、と。
僕の苦手なJavascript領域です。瘴気が濃い!!←酷いw
スペシャルサンクス
ベースはこちら。(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>
参考
aタグをページ内に記述せず、JavaScriptでリンクを設定する (DOM Scriptingの場合)
javascriptでリンク切れチェックをする方法 - "Diary" インターネットさんへの恩返し
Document.getElementsByTagName() - Web API | MDN
element.setAttribute - Web API | MDN
指定した位置にHTML要素を挿入する | GRAYCODE JavaScript
JavaScriptでa要素のhref属性を操作する方法を現役エンジニアが解説【初心者向け】 | TechAcademyマガジン
JavaScriptによるデバッグ(debug)の出力(print)方法について現役エンジニアが解説【初心者向け】 | TechAcademyマガジン
javascriptでリンク先が存在するかどうかで処理を分けたい。
js/jqueryで指定したURLのステータスコードを取得したい
JavaScript | 現在のページのURLを取得する(location.href)
[はてなブログ]entry is not foundページをカスタマイズしました - メモブログ
直前に閲覧したページのURL(リファラ情報)を得る方法 - JavaScript TIPSふぁくとりー