beforeunload のダイアログが出現しないことがある投稿日 2022/01/22beforeunload とは? beforeunload イベントは、ページがアンロードされる直前に発生します。 beforeunload イベントが発生時は、ページがまだ表示されており、イベントもキャンセル可能です。 beforeunload イベントは、ページにダイアログを...
JavaScript でルートドメイン(root domain)を取得する投稿日 2022/01/19 更新日 2022/01/20変換 はじめに URLからルートドメインを取得する処理について考えます。 結果から言えば、正確な結果が必要ならば、素直にライブラリを使いましょう。 ルートドメインとは ここで言う「ルートドメイン」とは、サブドメイン名やホスト名を含まない一般的に個人や組織が取得できるドメイン名のこ...
Web SQL Database に関する覚書投稿日 2022/01/18Web SQL Database とは Web SQL Database とは、Cookie や Web Storage の用にデータをブラウザ側に保存する仕組みのひとつです。仕様書は、次の場所で公開されています。 https://www.w3.org/TR/webdatabas...
HTMLを簡易に解析(tokenize / parse)する投稿日 2021/12/15 更新日 2022/03/28目次 はじめに DOMParser を使用する HTMLから文字列を抽出する 正規表現を使用して、簡易にタグとタグ以外を分解する 正規表現を使用して、もう少し考えて分解する HTMLのドキュメントツリーを簡易に作成する はじめに HTMLを簡易に解析(字句解析・構文解析)します。...
ウェブページにアウトラインを表示するブックマークレット投稿日 2021/12/03はじめに 文章のアウトラインではないです。DOM要素のアウトラインのレイアウトを表示します。 次の画像のような表示を確認するブックマークレットです。 この表示の何が良いのかといえば、要素の配置が一目瞭然になるところです。不要な要素の発見、意図しない位置に配置された要素の発見などに...
Firefoxに再起動のメニューを追加する投稿日 2021/09/24 更新日 2021/10/31FirefoxのuserChrome.js用スクリプトです。 再起動のメニュー(メインメニュー・アプリメニュー)を追加します。 RestartInMenu.uc.js RestartInMenu.uc.js // ==UserScript== // @name ...
Workerの実行を阻止する投稿日 2021/06/18 更新日 2021/06/20はじめに Worker (Dedicatedworker or SharedWorker) の実行を阻止するユーザスクリプトです。 不本意なマイニングなどの Worker が絡む問題を解決できます。 ただし、ServiceWorkerの実行阻止とは異なり、すべてのページで Wor...
Firefoxのブックマークバーを編集不可にする投稿日 2021/05/21 更新日 2021/10/08FirefoxのuserChrome.js用スクリプトです。 ブックマークバーを編集不可とすることで意図しない誤動作を防止する。 BookmarkbarNotEditable.uc.js BookmarkbarNotEditable.uc.js // ==UserScript==...
JavaScript無効限定のCSSを適用する投稿日 2021/05/13JavaScript を使用する方法 <html class="nojs"> <head> <script> document.documentElement.classList.replace('nojs...
JavaScriptのライフサイクルに関するイベント投稿日 2021/04/18 更新日 2022/01/21目次 はじめに 基本(script) 基本(状態遷移) readystatechangeイベント DOMContentLoadedイベント loadイベント pageshowイベント First CPU Idle First Contentful Paint (FCP) Firs...
すべてのページで標準のスクロールバーを表示する投稿日 2021/02/26 更新日 2021/02/27はじめに 様々なウェブページがあります。この頃、モバイル対応やレスポンシブ対応の結果、デスクトップ環境のサイトでもスクロールバーを非表示にするサイトが出始めました。 モバイル環境であれば、スクロールバーを非表示にして表示領域を確保するのは良い方法です。ですが、デスクトップ環境では...
ユーザースクリプト(UserScript)作成時の覚書投稿日 2021/02/24 更新日 2022/03/02目次 ユーザースクリプトとは 拡張機能の種類 インストール ユーザースクリプトの公開と検索 デバッグ ドキュメント メタデータブロック 実行タイミング(@run-at) API(GM関数) よくある失敗事例 簡単なバグフィックス・仕様の揺らぎ 後方互換性の問題 ブックマークレット...
JavaScript疑似プロトコルとは:「javascript:」投稿日 2021/02/23 更新日 2021/02/24JavaScriptプロトコル 「 javascript: 」で始まるプロトコルです。 プロトコルであるため、「 http: 」や「 file: 」と同じ位置づけの機能です。 ただし、デファクトスタンダード(事実上の標準)な機能であり、有効なURIスキームではありません。そのため...
analytics.jsのブロックを検出する投稿日 2021/02/16はじめに GoogleAnalyticsをブロックされている場合、問題が発生することがあります。ブロックされた場合、機能制限をかけるためにブロックを検出する処理について考えます。 ブロックパターン analytics.js/tags.js の読み込みブロック Measuremen...
JavaScriptのグローバル変数未定義エラーの回避方法投稿日 2021/02/08はじめに JavaScriptでは、未定義のグローバル変数へのアクセスでエラーを出力します。ここでは、エラーを回避して、未定義を判定する方法を考えます。 失敗例 下記のコード例では、グローバル変数の未定義エラーで失敗します。 if (a) { console.log('...
First Paint (FP) をJavaScriptで検出する投稿日 2021/02/03 更新日 2021/03/26目次 はじめに FirstPaintの時間を取得する タイミングを取得する:requestAnimationFrame() タイミングを取得する:PerformanceObserver タイミングを取得する:performance.getEntriesByType('pa...
Cumulative Layout Shift (CLS) をJavaScriptで検出する投稿日 2021/01/28 更新日 2021/03/26はじめに これまで、DevToolsのPerformanceタブからレイアウトシフトを確認していました。ですが、これだと目視する必要がある上に自動化できません。調べてみると、Layout Instability APIが見つかったのでそれの覚書です。 ※PageSpeed Ins...
JavaScriptでマウスの位置にある要素を取得する投稿日 2021/01/19面白そうな関数なので覚書 φ(..)メモメモ... document.elementFromPoint() var x = 100; var y = 100; var element = document.elementFromPoint(x, y); document.addE...