m2

2007-01-01から1年間の記事一覧

画像の一括縮小

要件 フォルダ内の jpeg 画像をすべて 1280x1024 に収まる大きさに縮小する なるべくきれい はじめは Java で書こうとして以下の情報を見つけました。 画像の縮小について - Java Solutionhttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?mode=viewtopic…

安全に eval

前々から「script要素に permission 属性があるといいなあ」と思ってるのだけどそれは置いといて。 「404 Blog Not Found - スーパpre記法で実行可能なJavaScriptを」のようにページ作成者が任意の JavaScript をページ閲覧者に実行させたいという欲求はある…

定規

(2007/05/07 短くしました) bookmarklet: javascript:(function(L){var d=document,i=0,a,b,A='appendChild',B='#000 solid 1px',C='createElement',D='margin:0;padding:0;background:transparent;font-size:10px;border:0;',U='px';a=d.body[A](d[C]('div'…

ドラッグ&ドロップでテーブルを並べ替え(DDSortTable)

Yahoo! UI Library (YUI) を使ってドラッグ&ドロップによるテーブルを並べ替えを実装しました。 ドラッグ&ドロップでテーブルを並べ替え(DDSortTable) http://miya2000.seesaa.net/article/39899726.html デモ http://miya2000.up.seesaa.net/ddsort/demo/…

prototype の解釈を間違ってました

僕はインスタンスに該当プロパティがなければコンストラクタの prototype プロパティの該当プロパティを参照すると思っていました。正確には"インスタンス化された時の"コンストラクタの prototype プロパティの該当プロパティを参照しているようです。 元ネ…

グローバルオブジェクトの参照はも function 宣言時に決まる

以前「window オブジェクトを汚さないネタ」で疑問に思ったので検証しました。 parent.html <html><head><title>Window テスト(Parent)</title> <script type="text/javascript"> window.name='parent'; function hello(){ alert('hello:'+window.name); } function openChild(){ var w=open('…</head></html>

子ウィンドウに親ウィンドウの CSS を継承させる

普通に考えればこんな感じ。 // 子ウィンドウを作成 var w=window.open('about:blank','hoge','width=800,height=600,location=yes'); var d=w.document; d.write('<html><head><title>'+document.title+' の子ウィンドウ<\/title><\/head>'); d.write('<body>'); /* (略) */ d.write('</body></head></html>…

style 要素を動的に生成する

普通に考えればこんな感じ。 var style=document.createElement('style'); style.setAttribute('type', 'text\/css'); style.innerHTML='…'; document.getElementsByTagName('head')[0].appendChild(style); が、IE6 では style 要素の innerHTML プロパティ…

伸縮するメニュー

css

元ネタ javascriptで伸縮するメニューができる http://loconet.web2.jp/blog/archives/2007/03/javascript.html 似たようなことが CSS だけでできそうだと思って書いてみました(アニメーションはしません)。 .menu { width: 500px; } .menu th { width: auto…

Adobe Apollo で Hello World

Adobe から widget っぽいのが出たので試してみました。画像が多いので「続きを読む」にしときます。

window オブジェクトを汚さないネタ

user.js や bookmarklet を書く時は、元のページのグローバル関数や変数を上書きしないようにグローバルな領域を使わないようにするんですが、JSONP のような外部スクリプトと連携する場合はどうしても必要になります。それをどうにかして元のページの windo…

今後もドラッグ&ドロップを書かない人のために

ライブラリにしました。 dndsupport.jsデモ 前回のプログラムと違うポイントとして、 他のライブラリに依存しない safari も img を被せるようにした(効果があるかは不明) Opera8対応(古いシイラも同じ対策でいけるかも) なるべく軽量に ドラッグする要素と…

頻繁にDOM要素の内容を変える場合はレイアウトが変わらないように注意する(IE)

先日の「これからドラッグ〜」を家の低スペックマシンの IE6 で動かすと非常に重たかったので調査したところ、ドラッグ&ドロップ部分は全く関係なくて、ログ表示部分に問題があることがわかりました。 log: function(msg,e) { /* コメントアウトすると軽く…

3/6のエントリ

主な目的は Opera のプロモーションだったりする。

やっちまったコード2

マウスカーソル弄っててハマったとこ。 var onNorth = false; var onSouth = false; var onEast = false; var onWest = false; var direction = onNorth ? 'n' : '' + onSouth ? 's' : '' + onWest ? 'w' : '' + onEast ? 'e' : '' ; alert(direction); // ??…

これからドラッグ&ドロップを書く人のために

2012/07/22 追記 久しぶりに確認したところ、IE9 では以下で指摘している IE (このときは IE6 でした) の問題(3, 4, 6)がすべて解消されていました。 また、Firefox での問題(5)も Firefox14 で試したらは解消されていました(ただ、All-in-One Sidebar のパ…

bookmarklet 版 bookmarklet maker

2008/01/26 追記 最新版(といってもだいぶ前に書いたもの。機能追加はしていません)です。下の改行付きのコードとは異なります。 javascript:(function(){function $(x){return document.getElementById(x);}function tgl(){if($('bmmaker').clientHeight>0)…

毎度 IE6 でハマる

<div style="background-color:white;"> <p style="color:red">これが消えちゃう</p> <p style="width:100px;float:left;">aaa</p> <p style="clear:both">bbb</p> </div> こういうのって検索キーワードが難しい。最小限の再現コードはできてるのにそれを正確に表現しようとすると「背景色を指定した要素の中に…floatがあって…clearが必要で…」なんてことになる。こうなると「とにかく見て!知ってる…

ちょっと勘違いしてた function a() と var a = function() の違い(JavaScriptのスコープの話)

両者は等価だと思ってたんだけど、実際はちょっと違うみたい。 javascript:(function(){ function a(){alert('a')} if(false){ function a(){alert('b')} } a(); })() 改行付き javascript:( function(){ function a(){ alert('a') } if(false){ function a(…

やっちまったコード1(続くのかよ)

function caller(args){ for (i=0;i<args.length;i++) { callee(args[i]); } } function callee(args){ for (i=args.length;i>=0;i--) { alert(i); } } caller([['hoge']]); 恥ずかしい。でもやりがち。 これに警告出してくれる開発環境なんてないかな?</args.length;i++)>

JavaScript で端末エミュレータエミュレータ

シェルスクリプトのネタがあってちょっと動作確認したいなーと思ったんだけど、手近に環境が無くて cygwin 入れるのもめんどくさい。そこで「JavaScriptで擬似端末書いちゃったら俺ってクールじゃね?」なんて妄想がはじまって「擬似ファイルシステムを作っ…

外部スクリプト一覧表示 Bookmarklet

むしろ今まで書いてなかったことに驚いた。 javascript:(function(){ var d=document; var sn=d.getElementsByTagName('script'); var b=[]; b.push('Script List of '+location.href+''); for(var i=0;i"+s+""); } } b.push(''); var w=window.open('','_x'…

「キミキタ」に粘着

はてブで一通り目を通して「オブジェクト指向が云々」と言ってるのは僕くらいだったので反応してみる。 あと、Javaなのにいまいちオブジェクト指向してないという意見もあった。これはどちらかというとスコアを所持するのがプレイヤーか審判かの問題のよ…

ウィンドウ幅を狭めても本文が読みやすい2カラムリキッドレイアウト(続・リキッドレイアウトとソリッドレイアウト)

前置き 前回は webページのレイアウトをする際に 単純なリキッド(横幅可変な)レイアウトだと、ディスプレイが大きい場合、横に広がりすぎて読みにくい。 ソリッド(横幅固定の)レイアウトだとウィンドウ幅を狭めた時に横スクロールが必要になり読みにくい。 …

リキッドレイアウトとソリッドレイアウト

web ページのレイアウトを考える時に、以前は「大きいディスプレイでは大きく! 小さいディスプレイでは小さく! 相手の環境に合わせられるリキッドレイアウトは最高!」などと思っていたんですが、最近は横幅固定(ソリッドorフィックスド レイアウト)でもい…

TinyURL のリダイレクト先をツールチップ表示する user.js

前に短縮URLの話をしたんだけども、どうしても短縮URLを開く前にそのリダイレクト先のURLを知りたいという方がいらっしゃるようなので、user.js を書きました。TinyURL のリダイレクト先をツールチップ表示 Opera、FFで動作。IEは面倒なので対応してません*1…

「キミのコードが汚い理由」のサンプルコードの最も汚い部分

前提として、私のような凡庸なサラリーマンプログラマーの立場で書いています。 キミのコードが汚い理由 〓 @IThttp://www.atmarkit.co.jp/im/carc/serial/redge51/redge51.html のはてぶで、コメントやエントリーを一通り読んだのだけども、 2007年01月12…

キミのコードが汚い理由のサンプルコードが読みにくい理由

それはオブジェクト指向じゃないから。 キミのコードが汚い理由 〓 @IThttp://www.atmarkit.co.jp/im/carc/serial/redge51/redge51.html 以下はよりクリーンだとされるコードの一部。 private int[] gameWon = {0,0}; (中略) public String getSetScore() {…

危険な JSON を試してみた

Kazuho@Cybozu Labs: 安全な JSON, 危険な JSON (Cross-site Including?)http://labs.cybozu.co.jp/blog/kazuho/archives/2007/01/cross-site_including.php によると、FireFox では Array を上書きすることで配列タイプの JSON にアクセスできるということ…