f8g

JavaScript

iTunesで聴いてる曲のビデオをSkypeに表示

前の→ http://d.hatena.ne.jp/arikui/20061208/1165532299 Skypeのムードメッセージに動画を設定できるということを最近知ったので、iTunesで聴いてる曲をDailymotionから検索して表示するスクリプト。検索に引っかかった1番目を表示させてるので、確実に聴…

Googleで検索したそのとき、画像検索の1番目をTumblrに投稿

ありがち。API版を作る > 誰か // ==UserScript== // @name post google image on tumblr // @namespace http://d.hatena.ne.jp/arikui/ // @include http://www.google.* // ==/UserScript== (function(){ var email, password; if( !GM_getValue("email") …

Um@SQLの競争成績をソート

http://www.kryogenix.org/code/browser/sorttable/ これ使う。 javascript:(function(s,x){document.evaluate('//table[@class=%22border%22]',document,null,6,null).snapshotItem(x.snapshotLength-1).className='sortable';s.type='text/javascript';s.s…

確認しない

日記を書く画面の「確認する」を「確認しない」にするBookmarklet。 javascript:(function(e){e.value="\u78BA\u8A8D\u3057\u306A\u3044";e.onclick=function(){alert("\u78BA\u8A8D\u3057\u307E\u305B\u3093");return false;}})(document.getElementsByName…

JSDoc

これはこのクラスのメンバです、って指定できないのかね。

1*""とか1*nullって0になるんだね。

Canvasで色々やろうと思ってた名残

http://arikui.s101.xrea.com/test/canvas/canvas.js 結局Canvasは使わないことにしたその名残。もう使わないな。

W-ZERO3でJS

http://moyashi.air-nifty.com/hitori/2007/08/window_mobilead_3e50.html http://www.newobjects.com/ ドキュメントを見ると、SQLiteまで使えるようだ。

appendChildするよりinnerHTMLでやった方が速いらしい

まとめて入れちゃえばinnerHTMLの方が物凄く速いんだけど、element.innerHTML += s; で回すと逆に物凄く遅い(既知のとおり)。appendChildも一つずつ表示させていくより、親ノードに入れてって、最後に親ノードをappendChildした方が速い。 というか、inner…

ドイツ語競馬用語を検索

http://www.shibashuji.com/wort/wordframe.html 普段からお世話になっていないドイツ語競馬用語に検索付けよう。 // ==UserScript== // @name ge hr word // @namespace http://d.hatena.ne.jp/arikui/ // @include http://www.shibashuji.com/wort/wort.ht…

ExelでADO

すっごい簡単なんだ。 var file = "data.xls"; Enumerator.prototype.each = function(f){ this.moveFirst(); for(; !this.atEnd(); this.moveNext()) f(this.item()); }; var cn = WSH.CreateObject("ADODB.Connection"); cn.Provider = "Microsoft.Jet.OLE…

地方競馬の競走馬の出走履歴の順位の背景に色つけるGreasemonkey

これに色つける。http://www2.keiba.go.jp/keibaWeb/PageFlows/HorseMarkInfo/HorseMarkInfoController.jpf?k_lineageLoginNo=2002106491 Firebugがあればコンソールに勝率、2着までの率、複勝率とか、最大の着差とか前走から何週間経ってるかを出力。 data:…

グラフィックに役立つ(とは限らない)算数

知ってる人は常識だろうし、知らない人には全く関係ない2D→3D変換。 function uv(p, f){ // fは焦点距離 return { u: f * p.x / p.z, v: f * p.y / p.z }; } canvasで。 Array.prototype.each = function(f){ for(var i = 0; i < this.length; i++) f(this[i…

iTunes目覚まし

var it = WSH.CreateObject("iTunes.Application"); var now = new Date; var time = WSH.Arguments.Item(0); var day = (WSH.Arguments.length > 1)? WSH.Arguments.Item(1): [now.getMonth() + 1, now.getDate(), now.getFullYear()].join("/"); var set_t…

prototypeとthis

が難しい。というかthisきめえ。 function sss(){ return this; } sss.ddd = function(){ return this; }; sss() // Global sss.ddd() // sss sss.ddd()() // Global Number.prototype.sss = function(){ return this; }; Number.prototype.sss.ddd = functi…

Array

var a = new Array(3); for(var i = 0; i < 4; i++) a.push(i); alert(a); // ,,,0,1,2,3 こんなことも知らなかった!

Regexp#compile

っていうのは、 var text = "sdf125gh45d789w9qer3458dsastr123dyjhgfe786dsgdas"; var words = "abcdefghijklmn".split(""); var r = /./; var results = []; for(var i = 0; i < words.length; i++){ r.compile(words[i]); if(text.match(r)) results.push…

FirefoxのXMLHTTPでsetRequestHeaderしたらエラーが出た。何で? 捨てツールなので結局GETでデータ送ることにした。 ああそうか、openする前にやったからか。openとsendの前にheaderをはさむようにしよう。

拡張をコンポーネントに

http://d.hatena.ne.jp/arikui/20070610/1181413433 Test.WSC <object id="fso" progid="Scripting.FileSystemObject"/> <script language="JScript"> function Load(path){ var file = fso.OpenTextFile(path); var text = file.ReadAll(); file.Close(); return LoadByText(text); } function LoadByText(code){ eval(cod…</object>

WSCのprototype

WSCでprototypeを使う。 Array.prototype.test = "component"; function f(){ // 登録するメソッド return []; } それを呼び出す。 var wsc = WSH.CreateObject("Test.WSC"); Array.prototype.test = "wsh"; var a1 = wsc.f(); var a2 = []; WSH.Echo(a1.tes…

WSHからSpiderMonkeyを

結論から言えば、多分使えない。 var shell = WSH.CreateObject("WScript.Shell"); var exe = shell.Exec("js"); WSH.Echo(exe.StdOut.ReadAll()); // 無反応でストップ "js -v"でやっても何も表示されず終わる。"ruby -v"とかだとちゃんと表示されんのにね。

UPnP

Enumerator.prototype.each = function(f, stop){ var stop = stop || "_stop_"; this.moveFirst(); for(; !this.atEnd(); this.moveNext()){ if(f(this.item()) == stop) break; } }; Array.prototype.each = function(f){ for(var i = 0; i < this.length;…

WMI

http://www.microsoft.com/japan/msdn/columns/scripting/scripting06112002.aspx http://msdn2.microsoft.com/en-us/library/aa394554.aspx 実際に見てみようコード。 var WMI_CLASS = "Win32_PortConnector"; Enumerator.prototype.each = function(f, sto…

CollectionはEnumeratorで

WMIは面白そう。 Enumerator.prototype.each = function(f){ for(; !this.atEnd(); this.moveNext()){ f( this.item() ); } }; var services = GetObject("winmgmts:\\\\."); var objectSet = services.InstancesOf("Win32_LogicalMemoryConfiguration"); (n…

setTimeoutの引数の三番目

もちろんMicrosoftな話で。 http://msdn2.microsoft.com/en-us/library/ms536753.aspx <script type="text/javascript"> setTimeout( "a", 1000, "VBScript" ); </script> <script language="VBScript"> Sub a() window.Alert "VBBBBbbbb" End Sub </Script> 多分こんな感じで動くらしいんですよ。今知った。

IEのRefresh

ありがち。 var shell = new ActiveXObject("Shell.Application"); var ieWindows = shell.Windows(); for(var i = 0; i < ieWindows.Count; i++) ieWindows.item(i).Refresh(); 現在起動中のIEをRefresh。エディタで使えるかも。

callback({a:1,b:2}) より、 callback( new Data({a:1,b:2}) ) の方がいいと思った今日この頃。Object.prototype って使っちゃダメって聞いた。

MSCommでシリアル

http://d.hatena.ne.jp/arikui/20070507#1178522526 で、Rubyを介してやってたけど、MSCommを使えばもっと楽でした。 var comm = WScript.CreateObject("MSCommLib.MSComm"); comm.CommPort = 7; comm.Settings = "4800,N,8,1"; comm.PortOpen = true; var i…

現在地をGPSで取得してtwitterに送る

WSH。ActiveScriptRubyが必要。あと、GPSはコメットUSB/3とかいうやつ。 var user = "username"; var pass = "password"; var invGeocoderURL = "http://nishioka.sakura.ne.jp/google/ws.php"; var xhr = new ActiveXObject("MSXML2.XMLHTTP"); var sc = ne…

HTAのテスト環境

を作りました。 http://arikui.s101.xrea.com/test/hta/ath.zip といっても、scriptフォルダ内のスクリプトを自動で読み込むのと、requireっぽいのを書いただけ。 おまけで、Twitterで声を送るやつのHTA版を入れときました。コメントアウトしてるので自動で…