また何か新機能がついたそうですよ、奥さん!進化が早くってついていけてないんですが。――最近、ようやくタグというのを使い始め、写真を整理している。めんどいけどちょっと楽しい。また、そっちの話題かい!とかいわずに、まあおひとつ → 青写真(仮)。で、FC2ブログを面白が
りと某所より仮名で名指し(不条理だ)されているようなので、小ネタを考えてみまする。アイディアはekken さんの呟きからいただいて、今見ている FC2ID と記事番号を拾い出してブログ拍手のページを開くブックマークレットを作ってみました。
> ブロ拍(パーマリンクに移動してクリックすると、この記事の拍手ページが別窓で開きます)
えーと、何に使えばいいのだろうか。テンプレに書き込んでも動くけど、あまり意味がない。拍手アイコンは表示されてないけれど「拍手したい!」って場合に有効かも(だが、当の管理人はそれを知る術がない。不条理だ)。
フィードバックをいただきましたので、以下の 2点の部分を修正しました。お好みでどうぞ。
> ブロ拍(改)
昨日のつづき。解像度を取得して壁紙を分ける方法
は、それぞれの問題を分けて考えると楽です。壁紙( background-image )は CSS でどーにでもなるので、ユーザの解像度の違いを CSS に渡せる形 = className にしちゃえば良いのである。というわけで、第一稿 > set_reso_classname.js
このスクリプトを DL & 自サバにアップし、テンプレ HTML の<head> 要素内でリンクします。実行されると、最親要素の <html> 要素に、ディスプレイ解像度を幅と高さに分割したクラス名をつけます。例えば XGA で読み込まれた場合は html.scw1024.sch768 となり QXGA(今日はじめて知った)なら html.scw2048.sch1536 になる。後はそれぞれのクラスセレクタごとに background を定めれば OK。
が、こんなピンポイントな分類をしても特殊な解像度な人って、それほど多くはないと思うのですよ。製作者の想定範囲より大きい(小さい)モニタだけ判別できれば概ねオッケーなんじゃないかと、三分割するパターンも作ってみました > set_reso_classname2.js
想定範囲内(ワシ的には SVGA XGA(WXGA) SXGA。ソース内のコメント参照のこと)にはクラス名は追加しないので、通常通りの感覚で CSS を書くことができる。まあ、環境依存だし、上手くいったらラッキーくらいの気持ちで、解像度が高(低)すぎる場合のスタイルだけ追加しておくみたいな使い方が良いかと。注意点としては、縦/横どちらかに的を絞った(つまり、片方のクラス名のみ使う)方が効率的です。通常は 2カラム、高解像度だったら 3カラムみたいなスタイルを作る場合は、横方向のクラス名だけに注目するという具合で。
とにかく、解像度を取得して壁紙を分ける方法知りたいなあ。
lizさん@りりきゅーでの呟き。「どんなサイクルのリニュ計画なんだー」とか内心ツッコミつつも、今日はもう呑んじゃったし、遅いので設計のヒントだけ探してみましょう(コシクダケ)。以前書いたアンチョコを window オブジェクトを検索できるように改造してみますた > property - window
”解像度なら window オブジェクト”ってのを自分がどこで知ったのかは忘れてしまいましたが、なんとなく「document オブジェクトよりは上位の部品だろう」くらいは想像できますね。ざっと眺めて window.screen ってのがソレっぽい。で、テストしてみる。
window.innerWidth / window.innerHeight というのも Firefox にありますけど、IE6(まだワシこれ) にはこのプロパティがありません。それに、判定した時点のブラウザウィンドウの幅や高さを観覧者が維持するとは限らないので目安程度にしかならないかな・・・ などとゴチャゴチャ考えつつ、明日の心だ。
先日、春木屋のコメ編集欄が復活しまして、その時に考えた小ネタなど。
コメントを編集するには、テキストエリア内の元文章を修正するわけですけど、長文や複雑な論理文(とかソースコード)の場合に修正しているうちに「何がなんだかわからなくなっちった」ってことありますね。そこで、元コメントと修正コメントを見比べながら書けるような仕組みをつくってみました。コメンテータの名前を参照(クリック)すると効果が見られます。コメントプレビュの亜種ですが、とても短いものなので、取っ掛かり for javascript のサンプルになるかも。自由に使用・改造してもらって OK です。
環境依存しますからポン付けでは動かない場合があります。自分のテンプレに組み込みたいという方には、このページでサポートします。
名鏡恵さんのお名前はフォーラムで見知っておりました。プロのプログラマの方だったのですね。ブログはまだ半分ほどしか読んでませんが「あーアレはこういうことだったのか」(曖昧)と、端っこの方に追いやっていた疑問が解けるようなテキストがたくさんあります。独学でスクリプトを作っていて「ステップアップしたい」と考えた時、具体例よりも理念の説明が欲しい場合が多いのですけど、そういうサイトってあまり無いんですよねー。そんな方(ワシとか)は必読です。
部品(具体的な名前を知りません。モジュール?サブルーチン?)を組み合わせて作るわけや依存性の話を読み、自分もその辺を意識 & マネしてキャメルケース <-> アンダースコア変換を作ってみました(理念をどれくらい理解できてるかは謎。でも、昨日までの自分にはコレは書けない)。名鏡さんはもっと規模の大きなプログラムの場合について書かれているのでしょうけど、例えば、テキストエリアの入出力のみを分けて作っておけば後で再利用する場合など便利だ、とか、数通りの似た処理をするなら、それらを分けて作れば各構文はシンプルになるし追加や削除が容易、みたいな部分はスクリプト(ちょっと書く場合)でも有効じゃないかと思いました。
しかし、変数名や関数名をつけるのヘタ過ぎです、自分。部品が多くなると比例してこれらの名前も増える → キャメルケースやアンダースコア使いが必要になってくる、ってのもヒソカに納得しました。