JS

window.openをバックグラウンドで実行

Operaで window.open('about:blank').blur();Operaではこれで、バックグラウンドで開きました。

OperaでのlocalStorage

JavaScriptでlocalStorageというのがあって 連想配列のようにkeyとvalueで、ローカルに保存することができるみたいです。 保存場所は、Operaの実行ファイルがあるフォルダの profile\pstorage localStorage['key'] = 'value';連想配列を扱うように、これで保…

Operaで画像を一覧するブックマークレット その2

前回のを少し変えて、ZOOM時の 右クリックで縮小サイズか、元のサイズor画面に収まるサイズで中央に 指定された縮小サイズの移動時だけ、位置を記憶するようにしました。 javascript:(function()%7Bvar%20openImg%20=%20function()%20%7B%0A%09this.has_link…

Operaで画像を一覧するブックマークレット

Operaのブックマークレットは、文字数に制限がないのか かなりの文字数でも大丈夫。 下記の、画像を一覧させるスクリプトもOperaだけ動作すると思う。 javascript:(function()%7Bvar%20openImg%20=%20function()%20%7B%0D%0A%09this.has_links%20=%20%7B%7D;…

textareaのvalue、innerText

数年前にOperaで使うのに作成した HTMLファイルを久しぶりに使ってみると textareaに、前はきちんと改行もJavaScriptで表示できたのに 今は改行が入らず、一行に表示されるようになってました。 var elm = document.getElementsByTagName('textarea')[0]; el…

Operaでselectionが使えない

Opera10.51にアップグレードしたら document.selectionが使えなくなってました。 selectionの替わりの、選択範囲の書き換えがわからん。 一応検索して調べたけど、それでもわからん。 それと、window.openで開いたウィンドウの オブジェクトの取得が、出来た…

自動でクリック

JS

IE,Operaでの確認だけですがJavaScriptで document.links[0].click()こんな感じに書くとスクリプトでリンクなどをクリックできます。 この方法で、このブログにあるアフィリエイトの広告を 30秒おきにクリックしたら、1時間で400円ほどに。 こりゃ楽だ…

WSHで経過時間を計る

もっと簡単に計る方法があった気がしますけど とりあえず、現時点でのgetTime()から 開始時のgetTime()を引いた1000/1秒とやらを変換。 小数点以下は切り捨て。 ひょっとしたら、間違ってるかもしれないです。 var num = new Date().getTime(); WSH.sleep(60…

instanceofで配列かどうかをチェック

typeofだと配列は、objectとして扱われてしまいますが instanceofを使って、配列かどうかをチェックすることができました。 var arr = []; var boo = arr instanceof Array; alert(boo); //true配列の場合true、そうでない場合はfalseを返してきます。 Array…

引数を配列に変換

argumentsはlengthで数を取得できるが、配列とは違うようで for〜inでは取得できなかった。 どこからかダウンロードしたヘルプに、引数を配列に変換させるコードが載っていた。 var arr_args = Array.prototype.slice.call(arguments);

toFixed

以前から、切り捨てる関数はないのもかと思っていたけど 昨日、偶然toFixedという便利な関数を知りました。 四捨五入して、引数で指定した小数点の位以下を切り捨てるには var num = 1.539; num.toFixed(2);//1.54この場合、四捨五入して小数点第2位以下を切…

inでbuttonなどのオブジェクトを取得すると

JS

getElementsByTagNameを使い、inでオブジェクトを取得すると 最初はundefinedになり、次が最初のオブジェクトになる。 そういうもんなんだろう、と別に調べもしなかったけど ---------body------------------- <button id=test-a>a</button> <button name=test-b>b</button> <button id=id-c name=name-c>c</button> <button class=class-e>e</button> -------script-------------------- va…

Math.max、minに配列を渡す

applyを使ったら渡せた。 var arr = [9, 3, 5, 2, 20]; var num_max = Math.max.apply(null, arr); var num_min = Math.min.apply(null, arr);

booleanも引数や変数に?

↓演算子? n > 3 だとかも変数や引数にできるんですね。 true、falseもできるから常識なのかな? var num = 9; var boo = (num > 8); alert(boo ? 1: 0);

スタイルシートで外部スクリプトを読みこむbehavior

たぶん、IEだけだと思いますけど scriptタグではなく、スタイルシートから 外部スクリプトファイルを読み込めるようです。 外部ファイルの拡張子はhtc。 behaviorにファイルのパスを指定。 html側 <html> <head> <title></title> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"> div#hoge { width : 300; height : 200; behavior: url</style></meta></head></html>…

オブジェクトの使い回し?

JS

returnにFunctionオブジェクトを返したり、prototypeを使ったりすると 継続的にローカル変数を参照し続けられますけど その継続的に参照する変数に、createElementで作成したオブジェクトを使うとどうなるのか? 試しに、ボタンを作成してクリックすると、自…

prototypeを使うとメモリの使用量が減るらしい

prototypeをいまいち理解できていないし どういう時に使えば良いのかもわからんけど メモリの消費が減るようなので これからは無理して使ってみようかと思う。 どういった事情で減るのかも、全く理解できないけど。 使わなくてもエラーでまくりなのに、はて…

文字列を複数行に分けて書く

文字列が長い場合、複数行にして書いてるけど var str = 'aaa' + 'bbb' + 'ccc' or var str = [ 'aaa', 'bbb', 'ccc' ].join('\n'); つい先程、どこかの外人のソース見て知ったのは var str = 'aaa\ bbb\ ccc';\を付ければ、'や"は最初と最後だけに付ければ…

replaceの引数

JS

replaceの置換で関数を使った場合、その関数に渡る引数の数は3つあるらしい。 実際に置換する数だけalertを使って表示させてみたら var str = 'aabaacaadaae'; str.replace(/[b-e]/ig, function() { alert([ arguments[0], arguments[1], arguments[2] ].joi…

attributes

JS

後で読もうと、どこかのサイトからコピペした 保存日が07/12/09のファイルがあり その後でが、つい先程訪れた。 概要はこんな感じだった。 例えばbodyに <input type=text value=test onclick="alert('test')" id=input-test>があり、attributesというのを使えば、このタグ内の情報を取得できるらしい。 attributesで、そのタグ…

オブジェクトをソート

JS

少し前に数をソートで、ソートに触れましたけど 検索して調べてみると、これはつまり数が多ければ正、少なければ負、同じであれば0を返して それで比較関数がなんたらかんかたらでソートしているんだとか。 Array.sort( function(a, b) {return a- b} );良く…

formを使う理由

なぜ、formなど使うのか疑問に思っていて 理由がわからないから使っていなかったけど formにした方が便利だな、と気が付いたことを。 入力ボックスに文字を入れてEnterキーを押すと submitボタンを押したのと、同じ働きをする。 日本語入力で、候補を選択す…

数をソート

数字をソートする場合 var arr = [3, 10, 1]; arr.sort(function(a, b) { return a - b; //b - aにすると、10,3,1 }); alert(arr); //1,3,10こんな感じに書けば、数字をソートできるのは知ってました。 しかし、文字の長さ順にするのに var arr = ['aa', 'aa…

IEのfilter、matrixを使って折れ線グラフを作成

JS

別にグラフを使うような高度な用事はないし、これからも必要ない気がするけど 単なる興味本位だけで、挑戦してみました。 結構やっている人もいて珍しくないだろうけど。 最初、差分が間隔で均等に傾くように 線の1pxずつ、1pxの大きさのタグを作成して 差分…

idでオブジェクト取得

JS

'-'などが混じっている場合 document.getElementById(id);でオブジェクトを取得してたけど IEでは document.all(id);これでもOKらしい。 しかも、これだとnameでも取得できる。 これからはこっち使う。

JavaScriptでテーブル作成

JS

1,2年前に、後で読もうと保存した資料があって その後でが、つい先程訪れた。 その資料では、スクリプトによってテーブルを作成しており しかもtbody、trなどcreateElementで作成していない。 結果的にはtbodyもtrも作成されてはいる。 //createElementで…

offset

JS

offsetTop、offsetLeftは、親要素からみた相対的な位置を取得するものみたいだけど window.eventでも、offsetX、offsetYがあるようだ。 document.images[0].onclick = function() { //この場合、画像[0]内でのx座標 alert(window.event.offsetX) };他にも、c…

配列で今頃わかったこと

var arr = ['a', 'b', 'c']; または var arr = {a: 1, b: 2, c: 3}; for(var i in arr) { WSH.echo(type of i); //string WSH.echo(i + 3); //iが2なら23、aならa3 };この場合iだけど、inでのiはstring型で toString()など付けなくても良かったんだな。

JavaScriptでaccesskeyを設定

JS

何を勘違いしたのか、今までできないと思ってたけど IEで、JavaScriptを使ってaccesskeyを設定することができた。 object.accessKey = 'a';普通に書いてできてやんの。何でできないかと思っていたのかというと accesskeyと全部小文字でやってできなかったか…

アンカーとリンク

リンクは <a href="****">***</a> アンカーは <a name="***">***</a>ジャンプするこれか? やべ、勘違いしとった。 パネルでタブを移動させるunDonut+modのパネル用HTML これ修正したw