ユーザースクリプト(UserScript)作成時の覚書 2021/02/242024/03/26目次 ユーザースクリプトとは 拡張機能の種類 インストール ユーザースクリプトの公開と検索 デバッグ ドキュメント メタデータブロック 実行タイミング(@run-at) API(GM関数) よくある失敗事例 簡単なバグフィックス・仕様の揺らぎ 後方互換性の問題 ブックマークレット...
JavaScript疑似プロトコルとは:「javascript:」 2021/02/232021/02/24JavaScriptプロトコル 「 javascript: 」で始まるプロトコルです。 プロトコルであるため、「 http: 」や「 file: 」と同じ位置づけの機能です。 ただし、デファクトスタンダード(事実上の標準)な機能であり、有効なURIスキームではありません。そのため...
analytics.jsのブロックを検出する 2021/02/16はじめに GoogleAnalyticsをブロックされている場合、問題が発生することがあります。ブロックされた場合、機能制限をかけるためにブロックを検出する処理について考えます。 ブロックパターン analytics.js/tags.js の読み込みブロック Measuremen...
JavaScript のグローバル変数未定義エラーの回避方法 2021/02/082023/09/04はじめに JavaScript では、未定義のグローバル変数へのアクセスでエラーを出力します。ここでは、エラーを回避して、未定義を判定する方法を考えます。 失敗例 下記のコード例では、グローバル変数の未定義エラーで失敗します。 if (a) { console.log(...
First Paint (FP) をJavaScriptで検出する 2021/02/032021/03/26目次 はじめに FirstPaintの時間を取得する タイミングを取得する:requestAnimationFrame() タイミングを取得する:PerformanceObserver タイミングを取得する:performance.getEntriesByType('pa...
Cumulative Layout Shift (CLS) をJavaScriptで検出する 2021/01/282021/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...
ZIPでファイルをまとめてダウンロード.user.js 2021/01/182022/04/01目次 はじめに 本ユーザスクリプトの利点 動作概要 使い方 コード 既知の問題 参考 はじめに ウェブページ内にあるファイル(主に画像)をまとめてダウンロードしたいと思ったことはないでしょうか?世の中には、たくさんのダウンロード方法があります。ですが、それは、大抵すべてをダウンロ...
右クリックを禁止・禁止解除する 2021/01/112021/05/21JavaScriptで右クリックを禁止する ページ全体で右クリックを禁止する window.addEventListener('contextmenu', function(e) { e.preventDefault(); }); //window.onconte...
タッチスクリーンであるかを JavaScript で判定する 2020/12/282023/08/22タッチスクリーン有無判定 // タッチスクリーン有無判定 const isTouchDevice = function() { return 'ontouchstart' in window; }; console.log('touch screen...
ゼロパディング・スペース埋め【JavaScript】 2020/09/21簡易な3桁のゼロパディング処理 function zeroPadding(number) { return ('000'+number).slice(-3); } console.log(zeroPadding(1)); // 001 console....
二次元配列の初期化【JavaScript】 2020/08/052020/10/04目次 二次元配列の配列リテラルによる初期化 二次元配列の初期化 二次元配列の文字列からの初期化 二次元配列の配列リテラルによる初期化 const array = [ [1, 2, 0, 0, 0, 0, 0, 0, 0, 0], [3, 0, 0, 0, 0, 0, 0,...
JavaScript で待機する方法(sleep 処理) 2020/07/312023/03/14目次 はじめに async/await(ES2017 対応) Generator(ES2015 対応) Promise(ES2015 対応) setTimeout XMLHttpRequest - 非推奨 ループ - 非推奨 補足 参考 はじめに JavaScript は、他プロ...
文字列を1文字ずつ配列に入れる【JavaScript】 2020/07/30目次 String.prototype.split() Array.from() スプレッド構文 補足(2バイトを超える文字) 参考 String.prototype.split() var str = '分割する文字列'; var ret = str.split...
【JavaScript】英数字の全角半角変換 2020/07/292023/03/04!"#$%&'()*+,-./ 0123456789:;<=>? @ABCDEFGHIJKLMNO PQRSTUVWXYZ[\]^_ `abcdefghijklmno pqrstuvwxyz{|}~ !"#$%&'()*+,-./ 01234...
ServiceWorker を無効化する 2020/03/282024/03/26はじめに ServiceWorker と言う、この頃話題の機能がブラウザに追加されました。既存のウェブページではできなかった。スマホアプリのような機能をブラウザで実現できる素晴らしい機能です。ただし、ユーザの事前承認なしに登録できます。 ServiceWorker は、スマホアプ...