雑多なブログ

音楽や語学、プログラム関連の話題について書いています

javascript

twitterの広告を消すブックマークレット

広告部分のhtmlには data-testid="placementTracking" という属性が設定されているので、その属性を持つDOM要素を非表示にすれば広告を消せる。 javascript:(() => { const e = document.createElement('style'); e.innerText = '[data-testid="placementTra…

ブラウザ上のURLの書き換え

ブラウザのURLバーに表示されているURLを書き換えが必要になったので調べたところ、Javascriptの下記メソッドが使える事が分かった。便利なメソッドなので活用していきたい。 history.pushState() history.pushState history backの履歴に書き換えたURLを追…

Javascriptの謎仕様 function `hoge`

カッコではなく、バッククオートで引数記述すると、何故か実行できてしまう。 例 console.log `Hello` alert `Hello` バッククオートで囲んだ文字列はテンプレートリテラルであるが、 それが上記が実行できる理由と関係あるのだろうか。 気になるので、もう…

vue3 の CompositionAPI

Composition API は大規模な開発で力を発揮する。 ただし、小さなコンポーネントにまで適用する必要はなく、そういった場面ではOptions APIで実装すれば良いと思う。 例えば、単一のラベルテキストやボタンのコンポーネント。 こういった規模のコンポーネン…

javascript: Objectクラスのメソッド

2021年12月11日更新 最近javascriptのObjectクラスについて学習しているので、 学習した内容を随時こちらに追記していく予定。 Objectクラスの機能を使いこなせると便利だなーと思う。 メソッド Object.assign Object.create Object.entries Object.freeze O…

javascript: Object.defineProperty() で変数の変更を検知

javascriptで変数の変更を検知する方法を調べたところ、 Object.defineProperty が使えるようだ。 この機能自体は、Chrome v5、IE9の頃から利用可能だったようだが、今まで知らなかった・・・ 静的メソッドの Object.defineProperty() は、あるオブジェクト…

javascript: オブジェクトのキーや配列に指定した値があるか調べる。

オブジェクトのキーや、配列の値を調べる時に便利な構文として in がある。 構文 value in array 例(Chrome の デベロッパーツールのconsoleで確認) 1 in [1, 2, 3, 4] >true "key" in {key: "value", key2: "value2"} >true javascriptはいまだに知らない…

window.sessionStorage

ブラウザのsessionStorageプロパティでsession storageにアクセスできる。特徴は次の通り。 window.localStorage に似ている(インターフェースが同じ) 新しいタブ・ウィンドウで開くと新しいセッションが開始される 配列やオブジェクトはシリアライズして…

chartjs3で余計な表示を消す

chartjs3では、デフォルトでデータセットのラベルが表示されている。 このラベルの表示を消すには、options.plugins.legend.display = false を指定する。 <html> <head> <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.4.0/chart.min.js"></script> <body> <h1> chart.js sample </h1> <canvas id="myChart" width="400" height="400"></canvas> <script>…</body></head></html>

javascriptでPHPのin_array()みたいな事をやる

PHPの in_array() は、配列の中に指定した値が存在するか判定する関数。 javascriptで、同じ事をやるならArrayオブジェクトの includes() メソッドが使える。 定義 Array.prototype.includes() 指定した値が配列に存在しない場合 const values = [1, 2, 3, 4…

jsでcookieの操作

jsでcookieを取得する場合には下記で全てのcookieを取得できる。 document.cookie こんな感じでCookieのキーと値の文字列がずらーっと出力される。 key1=hello; key2=hello; key3=hello; key4=hello このままだと、どうしようもないので、キーと値の連想配列…

javascriptの参考サイト

ja.javascript.info jsprimer.net azu.github.io

jsで言語判定

jsでブラウザの言語設定を取得するには、下記を参照すると良い。 window.navigator.languages[0] languagesが定義されていない場合は、下記から言語を取得する。 window.navigator.language window.navigator.userLanguage window.navigator.browserLanguage…

JXAでChrome操作(1)

macOS自動化用にAppleScriptが使えるのだけど、 実は最近のmacではjavascriptでも記述が可能なのだ。 ひとまず、Chromeを起動して新しいタブを開き、 所定のURLを開く、という操作を行ってみる。 #!/usr/bin/osascript -l JavaScript const chrome = Applica…

javascript: 文字詰めする(pad〜メソッド)

javascsriptで、文字列を指定した文字数になるまで延長する場合はpadStartとpadEndが使用できる。 構文は次の通り。 str = '何かの文字列' str.padStart(number, padString) str.padEnd(number, padString) 下記の形でも使用できる '何かの文字列'.padStart(…

javascript: toString()メソッド

10進数を他の基数の数字に変換する場合には、toString(param)を使用する。 toStringのパラメーターparamに基数を指定する。2〜36までの値を指定する事ができる。 例 const num = 3335555 n.toString(16) // '516f3' n.toString(8) // '1213363' n.toString(2…

MDN web docsのCanvasでブロック崩しを作るチュートリアルが良い感じ

みんな大好きMDNのサイトに、Canvasの独習に良さげなチュートリアルがありましたので紹介します。内容がシンプルにまとまっているので、サクッとCanavsを学べるのでおすすめです。 developer.mozilla.org