揮発性のメモ2

知識をメモ書きしておく

JavaScript

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ファイルとしてダウンロードできるようにするブックマークレットを作った。

WEB版アパマンショップの地図無し物件で地図を見るブックマークレット

アパマンショップの検索結果の物件ごとのページで 地図表示ができるものとできないものがある。 地図が表示できない物件でも、地図を見たいので、見れるようにする javascript:(function(){ var id = document.form_bukendtl0.ID.value; open('http://www.ap…

右クリック禁止禁止 4

firefox30.0で確認 右クリック禁止サイトを右クリックできるようにするブックマークレット javascript:(function(){ function unbinder(e){ if("onmousedown" in e) e.onmousedown = null; if("oncontextmenu" in e) e.oncontextmenu = null; if("onselectst…

onclickとかで、あらかじめ変数を渡したい

動かなかった例 var value = "ABC"; element.onclick = function(value){ 処理(value); }; "ABC"が入ってる変数valueと関数定義の変数valueは別物なので、このやり方では変数は渡せない 動く例 var value = "ABC"; element.onclick = (function(v){ return f…

InvalidCharacterError: String contains an invalid character

var radio = document.createElement("<INPUT TYPE='RADIO' NAME='AIUEO'>"); firefoxでもIEでも動作しない。IEの互換モードでのみ動作する。 var radio = document.createElement("input"); radio.type = "radio"; radio.name = "AIUEO"; なぜ最初からこういうコードにしないのか

window.event.srcElement

function EditMessage(){ var e = window.event.srcElement; var targetid = e.id; IEのときのコード。 firefoxだと動作しない。 IEとfirefox両方で動くようにするには次のようにする function EditMessage(event){ var e = event.target || window.event.sr…

右クリック禁止禁止 その3

jQuery http://tonarinoyj.jp/manga/anarchy/2/ $(document).bind("contextmenu",function(e){ return false; }); 右クリックメニューになにもしない関数をbindすることで右クリック禁止にしている。 なので、 javascript:(function(){ $(document).unbind("…

JSONファイルを取得して表示

{"sw":[1,0,1,1,1,1]} みたいなJSONファイルを取得してDOMに表示し続けるjQuery /* スイッチの状態を表示 */ function setsw(json){ for(i=0;i<=5;i++){ val = json.sw[i] ? "OFF" : "ON"; $('#sw'+i).text( val ); } } /* スイッチの状態を取得 */ function…

クッキー

4周目に入ったので、とりあえずインチキを解禁する。 かといってツールの入れ方もよくわからないので自力でインチキする。 javascript:(function(){ /* クッキーをクリック */ bigCookie.click(); /* ゴールデンクッキーが表示されていたらクリック */ if( g…

右クリック禁止禁止 その2

http://www.jtw.zaq.ne.jp/animesong/to/dokonjo/yansu.html イベントハンドラ .onmousedown, .oncontextmenu, .onselectstart に falseを返す関数を登録し、イベントバブルさせないようにすることで右クリックとか文字列選択等を禁止している。■Documentオ…

getElementsByTagName()の戻り値はブラウザによって違う

var elist = document.getElementsByTagName("img"); elist.forEach( function(e){ if( e.naturalWidth==0 ) e.src += "#"; }); これはエラーになる。 getElementsByTagName()の戻り値をぐるぐる回すときに、forEachを使うとエラーになる。これは、getなんと…

読み込みエラーになった画像をもう一度読みなおすブックマークレット

javascript:(function(){ var elist = document.getElementsByTagName("img"); for( var i=0; i

同一画像をどんどん再読み込みする

どんどん上書きされる画像ファイルをどんどん再読み込みするHTML <script> function reloadimg(e,timer){ setTimeout( function(){ e.src = "hoge.jpg?r=" + Math.random(); },timer); } </script> <img src="hoge.jpg" onload="reloadimg(this,1000)" onerror="reloadimg(this,5000)" /> うまく読めたら1秒後に、なんか読めなかったら5秒後に画像を再読み込みする。