揮発性のメモ2

知識をメモ書きしておく

JavaScript

jQueryで、 toggleClassを使ってクラスをつけたり外したりする

api.jquery.com第1引数にクラス名のみを書くと、そのクラスを交互につけたり外したりする。 第1引数にクラス名、第2引数に真偽値を書くと、真のときはクラスをつけて、偽のときにはクラスを外す。 $("#hoge").toggleClass("hoge_red", true); // 真なので ク…

JavaScriptで、半角英数字を全角にする

ランキング参加中プログラミング半角の文字コードに0xFEE0を足すやつ。 半角全部いけるらしいので、半角全部版を作った。 // 全部版 半角英数全部 function toZen(str){ return str.replace(/[\u0020-\u007E]/g, c => String.fromCharCode(c.charCodeAt(0) +…

tweetdeckでツイートを自動でスクロールさせるブックマークレット 3

旧TweetDeckが死に、強制的に新TweetDeckにされたため、自動スクロールブックマークレットを修正 javascript:(function deckroll(){ document.querySelectorAll('div[data-viewportview="true"]').forEach( (o)=>{if(o.scrollTop > 10) o.scrollTop--;} ); s…

はてなブックマークのブックマークページを開くブックマークレット

javascript:(function(){ open('https://b.hatena.ne.jp/entry/'+encodeURIComponent(location.href)) })()

PHPでエンコードして、JavaScriptでデコードする

漢字とか改行とか記号とか、そういうのをPHPからJavaScriptに渡すときにエンコードしたいとき PHP側で rawurlencode(), JavaScript側でdecodeURIComponent() を使用する。

2048ゲームを 自動でクリアする

www.afsgames.comなんか、カーソルの上と左右を交互に送信するだけでクリアできそうだったので ブックマークレットでカーソルキーを送信してみた。 javascript:(function hoge(a){ let key = 38; if(a%4 == 1) key=37; if(a%4 == 3) key=39; document.body.d…

オブジェクトの要素に変数名でアクセスする

文字列を変数名とみなして変数にアクセスするやつ JavaScriptのとき developer.mozilla.org 連想配列扱いできる var a = {b:123}; var text = "b"; console.log( a.b ); console.log( a[text] ); PHPのとき www.php.net 可変変数という仕様でアクセスできる …

if文、for文

if文for文の後ろは単文のみ許可、長くなる時は{ }でくくる というマイルール { は絶対次の行にしない。(関数宣言のときは逆に { を必ず次の行にする) 許さない書き方 /* 見つけ次第直す */ if(a>0) hoge(); for(i=0; i<10; i++) hoge(); /* 書いたやつを地…

タイトルをクリップボードにコピーするブックマークレット

developer.mozilla.org javascript:( function(){ navigator.clipboard.writeText(document.title); } )();

JavaScriptで、オブジェクトと連想配列はだいたい同じ

var o = new Object(); o.a = 1; print(o["a"]); // 1 o["a"] = 2; print(o.a); // 2 だいたい同じ

MongoDBで、整数じゃない数値を探す

mongoシェルの上から適当にinsertすると、デフォルトで数値はすべて double になる。なってしまう。 整数を入れたいときは NumberInt() を使う db.hoge.insert( {a:1} ) /* 実数 */ db.hoge.insert( {a:NumberInt(2)} ) /* 整数 (32bit) */ db.hoge.insert( …

飛び飛びな配列を詰める

歯抜けになっている配列を平坦化したい var a = []; a[5]=1; a[8]=2; // a は [ , , , , ,1, , ,2] となる。 a.length は 9 // a[0] は undefined IE以外のとき IE以外なら、flat関数を使うと簡単にできる var b = a.flat(); // b は [1,2] となる。 b.lengt…

jQueryで、配列をコピー

js.studio-kingdom.comextendを裏技っぽく使うやつで、オブジェクトのディープコピーなら var piyo = $.extend(true, {}, hoge); とするけど、配列のときは 配列なので 配列にする var bar = $.extend(true, [], foo); このせいでなんかエラー出てて30分くら…

配列の

var list = []; list[0] = "hello"; list[10] = "world"; console.log( list.length ); // 11 console.log( typeof(list[3]) ); // undefined // ループ for(var i=0; i

strcmp

function strcmp(a,b){ return a.localeCompare(b); } a 負 a==b 0 a > b 正 developer.mozilla.org

github上のjavascriptをはてなブログで読んで実行する

JavaScriptというかjQueryに、サーバ上のjsファイルを動的に取得して実行する機能がある。 $.getScript() | jQuery 1.9 日本語リファレンス | js STUDIO たとえばここのjsを取得したいとする。 GitHub - placemarker/jQuery-MD5: JavaScript MD5 plugin, usa…

文字列のMD5を出力する 計算器

function calcmd5sum(){ const len = $("#md5length").val(); console.log("len=",len); const text = $("#md5input").val(); console.log("text=",text); const result = $.md5(text); console.log("result=",result); $("#md5result").text( result.substr…

小数点以下の桁数を指定して表示する

123456 を 123456.00 みたいに小数点以下の桁数を指定して表示する var a = 123456; var n = 2; console.log( a.toFixed(n) ); // 123456.00 Number.prototype.toFixed() - JavaScript | MDN

日付を入力するときの月末日 計算器

年 月 日 (1~)翌月の0日=今月の末日 という話 /** 現在日時をセットして、月末計算器もついでにセット */ function initLastdate(){ /** 月末計算器 */ function setLastdate(){ const year = $("#cbyear").val(); const month = $("#cbmonth").val(); con…

nullはオブジェクト

console.log(typeof null); ってやったら object って出た。

OCRで読み込んだ電話番号とかを綺麗に整形する 計算器

function calc_teltel(){ var text = $("#tel_text").val(); text = fascii2ascii(text); // 全角半角変換 text = text.replace(/\s+/g, ""); // 空白除去 text = text.replace(/(\w)(ー+)/g, "$1-"); // 英数字の後ろの長音をハイフンに text = text.replac…

tweetdeckでツイートを自動でスクロールさせるブックマークレット 2

tweetdeckでツイートを自動でスクロールさせるブックマークレット - 揮発性のメモ TweetDeckがjQueryを使わなくなったのでブックマークレットを作り直し javascript:(function deckroll(){ var list = document.querySelectorAll("div.js-dropdown-container…

右クリック禁止禁止 7

https://thefunnel.jp/notifications ここで新しい右クリック禁止方法を知った。 <body onmousemove="window.getSelection().removeAllRanges();"> 選択されたそばから解放していくという方法。 ちょっと面白いと思った。 javascript: (function() { function unbinder(e) { try{ e.oncopy=null; }catch(a){} try{ e.onmous</body>…

ブラウザ機能チェック

ブラウザが何の機能を持っているかをチェックするブックマークレット javascript:(function(){ alert(document.compatMode==="BackCompat" ?"後方互換モード":"標準準拠モード"); alert(window.URL?"URL対応":"URL未対応"); alert(window.Blob?"BLOB対応":"B…

$.ajax()を使って phpに数字と文字列を送信する

a = "1"; // 文字列 b = 2; // 数値 これをajaxでサーバに送信し、PHP側で文字列、数値としてきちんと受け取りたい。 クエリとして ?a=1&b=2 みたいに書き直されてから送信されるので、全部文字列にされてしまう function sendjson(url){ $.ajax({ url : url…

tweetdeckでツイートを自動でスクロールさせるブックマークレット

このブックマークレットを呼出し後、スクロールさせたいカラムを少しだけ下にずらすと、自動でスクロールしていくようになる。 一番上まできても、新しい発言が来たらまたスクロールを再開する。 javascript:(function(){ $.each( $("div.js-dropdown-contai…

マウスの位置取得

マウスの位置座標を取得する。 通常は画面内でのみ座標を取得できるが、ドラッグしている最中に限り画面外でも座標は取得できる。 <html> <head> <script> function printmouse(event){ document.getElementById("mousex").innerText = event.x; document.getElementById("mousey</script></head></html>…

jQueryのセレクタで複数の要素を選択する

<form id="PIYO"> <input name="aaa"> </form> <form id="HOGE"> <input name="aaa"> <input name="bbb"> <select name="ccc"> form#HOGE の下のinputとselectにonchangeつけたいとき $("form#HOGE select,input").change(myfunc); と書くのは間違っている。 この場合、form#HOGE select と input のふたつのor扱いになり、思ってもいないinputまで対象になってしまう // それぞ</select></form>…

selectで選択されてる項目名と値の取得

三十六 三十七 三十九 <SELECT NAME="sample" id="sample"> <OPTION VALUE="36.txt">三十六 <OPTION VALUE="37.txt">三十七 <OPTION VALUE="39.txt">三十九 </SELECT> /** サンプル切替 */ function changesample(){ // 項目名のほうは text() で取得 var text = $("select#sample option:selected").text(); console.log(text, "が選択されたよ"); // 値のほうは val() で取…

== での比較

なんかもうぐちゃぐちゃしてるので、ちゃんと === 使うべきと思う