揮発性のメモ2

http://d.hatena.ne.jp/iww/

JavaScript

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() で取…

== での比較

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

数字かそうじゃないか判定

10e11 とか 0x10 とかは数字として断じて認めない function isnum(str) { return str.match(/^[-]?[\d]+\.?[\d]*$/); } var a = "-5.00a"; console.log( isnum(a) ? "数値だ" : "数値じゃない" );

丸め

浮動小数点を100倍して整数にするとかでよくやる失敗。 四捨五入万歳! var a = -1.15; var b = Math.round(a*100); print(b); // -115 ○ var c = parseInt(a*100,10); print(c); // -114 × 0.57の100倍も56とかになるので良く死ぬ

selectのselectedはattrでなくpropで設定する

<HTML lang=ja> <HEAD> <script src="jquery.js"></script> <script> function selectchange(n){ var a = $('select#sel option'); // a.eq(n).attr('selected','selected'); a.eq(n).prop('selected','selected'); return false; } $(function(){ selectchange(1); }); </script> </head> <body> </body></html>

jQueryのhide()はdisplay:none

$("#unit").hide(); <div style="display: none;" id="unit"> </div> visibility: hidden ではない

右クリック禁止禁止 6

ブックマークレットとして保存して対象サイトで呼び出せば、運が良ければ右クリック禁止、選択禁止を解除できる。 Chrome 52.0.2743.116、Firefox 48.0.2で確認 javascript: (function() { function unbinder(e) { try{ e.oncopy=null; }catch(a){} try{ e.o…

jQueryでdivを生成する

jQuery(html, [ownerDocument]) - jQuery 日本語リファレンス html() - jQuery 日本語リファレンス jQueryで要素自身を含めたhtmlの取得 – じゃが <html><head><meta charset="utf-8"> <script src="jquery-1.12.4.min.js"></script> <script> $(function(){ var hoge = $('<div>'); console.log( "innerHTML:" +hoge.html()); // なにも表示されない …</div></meta></head></html>

ファイルを取得して、変化があったら何かする

サーバ側 ファイルに更新が無ければ 304 を返す例

$.ajax()で成功するまでリトライさせる

何秒間かリトライをがんばる ファイルを作る人がいて、その人がファイルを作るまでがんばる limittime = (new Date).getTime() + 4000; // 現在時刻 +4秒までリトライ頑張る $.ajax({ url: "hoge.json", dataType: 'json', error:function(xhr) { var nowtim…

PhpStormで、JavaScriptの関数で使ってない引数の警告を無視するように設定する

JavaScriptの関数で、引数の中に使ってない変数があるとき Warning が出てウザいので、警告が出ないようにする。 ファイルの先頭の方に次の行を足すか 関数呼び出し部分の先頭に次の行を足すか //noinspection JSUnusedLocalSymbols ただ、これだと引数以外…

ajaxを順番に実行させるとき、みんなに共通のオブジェクトを渡せるようにする

ajaxHoge1(), ajaxHoge2(), ajaxHoge3() の全員に 自動的に同じオブジェクト obj を渡したい。 そして順番に処理させたい ajaxHoge1(obj) // 1番目の処理 .then(ajaxHoge2) // 2番目の処理 .then(ajaxHoge3); // 3番目の処理 /** * 1番目の処理 * @param obj…

ajaxでデータを取得したとき、データに不備を見つけたらエラー扱いにする

最近は ajaxの引数で .success とか .error は使っちゃいけないらしい。 // データをサーバから取得する関数 function getdata(command){ return $.ajax({ url: "test_command.php", // リクエスト送信先URL type: "POST", data: {"command":command}, dataType: …

不正なJSON

{ "a":000, ← NG "b":0, ← OK "c":"000" ← OK } 000 はおかしな数字なのでNGになる。 気を付けよう。

jQueryでクラス名の一部を検索する

クラス名を後ろに足してったとき、先頭ではないので 「クラス名の先頭が○○のを検索」 というのはできなくなる。 var e = $('<input>'); e.addClass("HOGE"); // クラス名は HOGE e.addClass("PIYO123"); // クラス名は HOGE PIYO123 $(".PIYO123").hide(); // . で…

画面遷移をさせない

function alert_hoge() { // IE8ならダイアログが出るが、firefoxだと出ない window.alert("画面遷移させません!"); // firefoxではこの文字列は使われず、定型文が出る return "画面遷移しないでね"; // IEだと「false」という文字列が出てしまう // 画面…

整数化

parseInt() でも Math.floor() でもない方法 JavaScriptとJavaでは整数の割り算結果が違う var a = 91; var b = (a/10 |0); alert(b); // 9 すげぇなんだこれインチキっぺぇな

右クリック禁止禁止 5

ブックマークレットとして保存して対象サイトで呼び出せば、運が良ければ右クリック禁止を解除できる firefox45.0.1 で確認 javascript: (function() { function unbinder(e) { try{ e.oncopy=null; }catch(a){} try{ e.onmousedown =null; }catch(a){} try{…

jqueryでテーブルの各セルに配列のデータを書きこむ

function writecell(arraydata){ // TRのリストを取得する var $trlist = $("table#hogehoge tr"); for(var y=0; y<$trlist.length ;y++){ // TDのリストを取得する var $tdlist = $trlist.eq(y).children(); for(var x=0; x<$tdlist.length; x++){ // TDを…

history.back()で戻ると、変数の値は保持されている

ページA でJavaScriptを動かして、ページB に遷移したあとに history.back() でページAに戻ると firefoxの場合、ページA で使ってた変数の値は残っている。 IEやChromeの場合、ページA で使っていた変数の値は残っていない。 ページA (a.html) ボタンを押す…

空returnの戻り値は undefined

function hoge(){ return; } print( hoge() ? "true" : "false" ); print(typeof hoge()); false undefined

suicaの利用履歴をCSVファイルにしてダウンロードする

モバイルsuicaのページ https://www.mobilesuica.com/ここでモバイルsuicaの利用履歴を表示できる。 しかし、CSVファイルでダウンロードできない。 なので、CSVファイルとしてダウンロードできるようにするブックマークレットを作った。