作 ▸
こうこく
作 ▸ 2020-09-08 23:29
navigator.clipboard.writeText() で「Document is not focused.」エラー
ページ内の情報をクリップボードにコピーしたくて、Chromeの開発者ツールのコンソールから navigator.clipboard.writeText()
を使おうとしたら DOMException: Document is not focused.
エラーが出た。
Google Chrome 84.0.4147.135
作 ▸ 2020-09-06 20:47
特定の属性を持っている・持っていない場合にマッチするCSSセレクタ
以下のように、属性セレクタに属性名だけを書けばOK。
img[width] {
/* width 属性を持っている img タグにマッチ */
}
img:not([width]) {
/* width 属性を持っていない img タグにマッチ */
}
JavaScriptの querySelector
系の関数からも同様。
// src が無い script タグ = ページ内に直接書かれている script タグのみを抽出
document.querySelectorAll('script:not([src])');
作 ▸ 2020-09-06 17:34
Fiddler EverywhereでHTTPS通信のレスポンスを見る
HTTP/HTTPS通信をキャプチャできるFiddler Everywhere。デフォルトではHTTPS通信のレスポンスが見られないので、見られるように設定する必要がある。
Fiddler Everywhere 1.0.2Google Chrome 84.0.4147.135
作 ▸ 2020-07-05 09:01
JavaScript 現在日時との差を「n秒前」「n分前」みたいに適度に計算して文字列にするやつ
よくあるやつ 日までのみ対応
/**
* 日時1から日時2がどれだけ過去かを文字列で表現して返す
* 10秒前までなら "今"、10秒前なら "10秒前"、61秒前なら "1分前" みたいに
* @param {Date} dt1 未来
* @param {Date} dt2 過去
* @return {String} 秒>分>時間>日 のうち最小単位
*/
const getOffsetString = (dt1, dt2) => {
const offsetTs = dt1.getTime() - dt2.getTime();
if (offsetTs < 10000) {
return '今';
} else if (offsetTs < 60000) {
return `${Math.floor(offsetTs / 1000)}秒前`;
} else if (offsetTs < 3600000) {
return `${Math.floor(offsetTs / 60000)}分前`;
} else if (offsetTs < 86400000) {
return `${Math.floor(offsetTs / 3600000)}時間前`;
} else {
return `${Math.floor(offsetTs / 86400000)}日前`;
}
};
Webpack + Babel で async/await 使ったら「regeneratorRuntime is not defined」エラー
Webpack + Babel + React やってるとき、データの取得に async
/await
を使ったら以下のエラーが出た。
Uncaught ReferenceError: regeneratorRuntime is not defined
webpack 4.41.2babel/code 7.7.2babel/plugin-transform-runtime 7.10.4
作 ▸ 2020-06-21 20:06
CSS transitionの行きと帰りの時間を変える
マウスオーバー時はすぐに色が変わって、離れた時はゆっくり色が戻るみたいな
JavaScript 非同期処理をPromise.all()で束ねるサンプル
非同期処理を一気に投げて全部成功したら続行する必要があり、Promise.all()
使ってみた。
Webpack 4 + Less + Autoprefixer を使うサンプル
CSSに自動でベンダープレフィックスを付与してくれるAutoprefixer。今更ながら、WebpackでLessと連携させてみた。
[ webpack 4.43.0 / autoprefixer 9.8.0 / postcss-loader 4.0.4]
作 ▸ 2020-05-30 00:08
AWS DynamoDBのqueryで「The provided starting key does not match the range key predicate」エラー
KeyConditionExpression
でソートキーを範囲指定 (>=
など) してる時に、ExclusiveStartKey
で指定した開始位置が、範囲指定のスタート位置より外側である場合に発生する。