Saturday, 7. June 2008, 08:36:35
Windows版operaではマウスの右ボタンを押しながら左クリックしたり、
左ボタンを押しながら右クリックすると、ブラウザの戻る、進むと同じになってるらしい。
フリップバックとかロッカージェスチャーと言うらしい。
元はFirefoxの機能だったらしいけど、
ウチは5ボタンマウスの機能割り当てを使ってるので、たぶんこの機能は使わないと思う。
Macでは2ボタンの機能はないし(ないわけじゃないけど)、全てのアプリケーション(全てのブラウザではなく)で同じ操作が使えるのが最大のメリットかな。
ブラウザごとに覚える必要がない。
そういえばAppleにはApple Human Interface Guidlineという、全てのアプリケーションで共通の操作ができて、ユーザーに混乱させたり、あらたに操作方法を覚えなくてもいいようにしましょう、というガイドラインがあるんだけど、
今のMacOS Xにはそのガイドラインはまだあるんだろうか。。。
Monday, 5. May 2008, 04:45:25
伺か, mascot, マスコット
ブログマスコットであり、
ホームページマスコットであり。
ころぽっけという名前で公開しました。
Operaのウィジェットとして開発していた物を、Wordpressテーマとして使えるようにしました。
スクリプトを調整後、一般公開予定です。
ウィジェットとして公開するのはかなり先になるかもしれません。
Tuesday, 12. February 2008, 08:18:03
Opera Widjetとして実行する場合、
canvasの上にdivを重ねると、divを消した後、canvasが描画されなくなるというバグがあります。
DabWatchでは時計部分にcanvas、カレンダー部分や設定ダイアログにdivを使用していますが、設定ダイアログが必ず時計に重なります。
DabWatchでは、このバグに対応するため、
設定ダイアログを出す直前にcanvasのタイマーを止め、canvasのポジションを
style.left=-width+'px'
に移動させています。
設定ダイアログの左端が 0 なので、ちょうど画面の外の重ならない位置にあるというわけです。
で、設定ダイアログを閉じた直後にcanvasを元の位置に戻し、タイマーを動作させています。
通常のウェブページでは問題なく描画されます。
Sunday, 3. February 2008, 19:30:38
画像とスクリプトを違う人が作る場合など、ウィジェットを2人以上で制作している場合の注意点です。
ウィジェット仕様書では、config.xmlファイルの著作者表示に<author>を使うようになっています。
DabWatchのconfig.xmlより
<widget>
<author>
<name>神崎渉瑠</name>
<email>****@******.**</email>
<link>http://www.wi-wi.jp/</link>
<organization>Wings-Winds</organization>
</author>
</widget>
この<author>は、config.xmlファイル1つに付き、1回しか使うことが出来ません。
また、これに内包する<name>、<email>、<link>も1回ずつしか使えません。
2回以上使用すると、ウィジェットが起動しなくなります。
かといって、独自のタグを追加しても起動しなくなります。
起動しないconfig.xml
<widget>
<author>
<name>神崎渉瑠</name>
<email>****@******.**</email>
<link>http://www.wi-wi.jp/</link>
<organization>Wings-Winds</organization>
<work>Scripting</work> <- 未定義のタグ
</author>
<author> <- authorタグの重複
<name>神崎水裕</name>
<email>****@******.**</email>
<link>http://www.wi-wi.jp/</link>
<organization>Wings-Winds</organization>
<work>Design</work> <- 未定義のタグ
</author>
</widget>
Wednesday, 23. January 2008, 09:23:25
TABLE, DOM
だぶだぶノートでも書いていること
HTMLのテーブルの行、セル(マス)を取得するのに、table.rows、table.cellsがありますが、
HTML-DOMでは、rowsはエレメントコレクションなので、
table.rows[0].cells[0]という書き方でも、table.rows.item(0).cells.item(0)という書き方でも可能です。
ただし、OperaとIEは実装が中途半端なので、
Operaではtable.rows(0).cells(0)という書き方(関数)、
IEではtable.rows[0].cells[0]という書き方(配列)でなければ動きません。
Operaのみitem()メソッドが実装
されていません。
1行中の全セルを取得するのにcellsを使うとブラウザごとに分岐させないと行けないので、getElementsByTagNameなど、標準的なDOMメソッドが使えますが、
row.getElementsByTagName('*')とすると、セルの中に
やが入ってると無駄な物まで取れてしまう。
tbody.getElementsByTagName('td')やではと | が混在する場合に全セルを取れません。
その対策として、row.childNodes[ ]が使えるっぽいです。
2008/2/10 table.rows.item()の記述について修正 |
Wednesday, 23. January 2008, 09:02:34
ウィジェットを作るときに、ウインドウサイズは極力小さくした方が良いようです。
時計を作ったときに、サポートからチェック結果が返ってきました。
After downloading and analysing the widget i found the height/width specified in config.xml is 380/560 but i dont think widget does need that big height/width always. So it will be nice if you can use window.resizeTo() or window.resizeBy() to change the width/height at runtime from javascript. Adding extra height/width will reduce performance of widget and will make it work bit slow. Also it will display blue background on linux platform. You can see this by adding style attribute to html tag <html style="background:blue;">.
要約すると、
・実際に使用するウインドウサイズよりも大きなサイズを使うと、リソースを無駄に消費するので、必要なときにwindow.resizeTo()やwindow.resizeBy()を使うのがよい。
・Linuxでは背景色が青くなるので、ブラウザ画面が隠れてしまう。
・Linux環境をエミュレートする方法として、<html style="background:blue;">というのが使える。
実際にリリースするときは、一応、<html style="background-color: transparent;">をつけておくのが良さそうです。
Wednesday, 23. January 2008, 08:42:46
半角スペース、全角スペース、 、 、 、 の比較
文字コードUTF-8、font-sizeは20px、グリッド幅は20px。
Operaだけ 以外を認識しません。
Safari、iCabは全角スペースが連続する場合、1つのスペースと見なします。
HTML4/XHTMLでは、その言語においてスペースに相当する物は、半角スペースと同じ扱いにすることになっていると思うので、文法上はこれらのブラウザが正しい表示と思います。
上段は各スペース1つずつ、下段は2つ連続させた物。

Thursday, 10. January 2008, 06:19:39
簡単なデバッグツールとして。
opera.postError('err message');
これで詳細ツールのエラーコンソールに文字列が出力されます。