WEB/システム/IT技術ブログ

親画面からナビゲーションとなる子画面を開き、その子画面を操作することで親画面を切り替えるという処理は、たまに実装しますが、その都度「どうだったっけ?」と調べてしまいます。。。そういうわけで覚書です。

例えば親画面をYahooに切り替えたい場合は、子画面のリンクに以下のように記述します。

<a href="javascript: void(0);" onclick="opener.location.href='http://www.yahoo.co.jp/';">Yahoo! Japan</a>

hrefにvoidを入れるのは、リンクとしての動作を抑制する意味があります。つまり、子画面自信は遷移せずに、onclickのjavascriptを実行することになります。

本日、3/15にいよいよ「radiko.jp」のサービスが開始されました。
radiko.jp

「インターネットでラジオ」と聞くと、なぜ今までなかったんだろうという思いもありますが、今回、正式にサービス開始となったようです。「正式に」というのも、これまででも、ああやったり、こうやったりすることで、ネットでラジオを聴く方法があったようですが、やはり質に難ありの状況だったようです。

ラジオを聴く機器は安価な印象があるのですが、いざ買うとなると、今の時代ラジオ単体で買うのもどうかと思いますし、だからといってラジオの聞けるコンポに買い換えたりするほど大げさでもないし。ということで、聞きたい番組があるにもかかわらず、ラジオがない環境で過ごしてきました。

そんな中、今回のサービス開始ということで、個人的には待望の日がきたという、ちょっとした感動があります。

早速、今聞いているのですが、やっぱり公式だといいますか、音質は良いような気がします。
使い方は簡単、上の公式サイトを見れば分かります。必要な環境としてはFlashが動くブラウザ上で動作するので、特に何かをインストールする必要はないです。
あと、残念ながら、日本全国でサービス利用はできないようです。現時点では、東京、大阪を周辺とした地域限定のサービスで、全国実施は夏ごろになりそうです。

さて、j-waveでも聞きながら仕事しよう。

PHPで関数mb_send_mailを利用してメールを送信する場合に、メール本文に1つの改行が2つと解釈されてメールが送信されるケースがあります。

例えば、以下のような文章をフォームなどで入力します。

こんにちわ
こんばんわ
おはようございます

この内容をmb_send_mailにセットしてメールを送信し、受信側で確認すると以下のように表示されることがあります。

アンチIE6の私にとっては朗報です。
私が制作側の人間で、IE6対応に日々悩まされているので、過剰かもしれませんが。

IE6の葬儀はアメリカのコロラド州にあるデザイン会社が主催で行うようです。
Announcement | IE6 Funeral
現地時間3/4(木)の19:00に行われるそうです。
可能であれば、私の是非参加したかった。。。

3/1よりGoogleのサービスが段階的にIE6サポート対象外になるという表明もあるように、こういったクリエイティブな方々の積極的な活動で、枯れた技術を切り捨てることも今後の発展には必要ですよね。

話は少しそれますが、大規模な制作会社などが「勉強会」などと称して講演者を立て、技術者の交流を図ることがしばしば見受けられますが、それとは一味違う、「IE6の葬儀」のようにニッチな話題に便乗したイベントというのもおもしろいアイディアだと思いました。

RSSをPHPで読み込む場合に、要素「dc:date」を抜き出す方法です。
毎回忘れて調べなおすので、ここにメモとして残しておきます。

PHPでRSSを読み込み処理する場合に関数simplexml_load_file()を使います。

例えば以下のような内容のRSSを読み込む場合を考えます。

<item>
	<title>タイトルタイトルタイトル</title>
	<info>
		<link>http://blog.he-ron.jp</link>
		<description>概要概要概要概要</description>
	</info>
	<dc:date>2010-02-12T14:19:07+09:00</dc:date>
</item>
(繰り返し)

Smartyでテンプレートを作る場合に、どの部分までテンプレート化するか設計が重要になってきます。
可能な限りテンプレート化することによって、更新作業が楽にはなりますが、一方で柔軟性に欠けるサイトになったりします。急にテンプレートの一部を切り替えたいなど要望があると、テンプレート構成を見直すなど、大改修になることもしばしばです。
そこでSmartyでは、予めテンプレートを細分化し、テンプレートでテンプレートを読み込む構成を組むことができます。例えば、親となるテンプレートを以下のように記述します。

{include file='header.tpl'}
{include file='sidemenu.tpl'}
コンテンツコンテンツコンテンツ
{include file='footer.tpl'}

ActionScript3ではイベントリスナーを多様するのですが、そのイベントリスナーで指定する関数に引数を渡したくて、少し調べてみました。

これを単純に実装しようとすると、以下のようにグローバルな値経由で無名関数の中に値を参照させることができるみたいです。

this.x = "てすと";
mc.addEventListener(Event.RESIZE, function(){
	trace(this.x);
});

結果はデバッグで「てすと」が出力されます。

しかし、これだと無名関数のためイベントの解除が難しそうです。さらには、関数が流用できないという欠点があります。

調べるとすぐに見つけることができたのですが、ActionScript3では以下のような記述が可能なようです。

このブログも記事が増えてきました。
カテゴリページなんかでは、すぐに目的の記事を探し出せるように一覧化したい一方で、MTで概要をそのまま並べるとどんどん冗長になっていきます。

そこで、今回、アコーディオンを実装してみました。

どこからかライブラリを拾ってこようと思ったのですが、jQueryで実装すると簡単みたいだったので、自作してみました。

前提として、以下のようなHTMLコーディングだったとします。

<div class="accordion">
<div class="title"><h2>タイトル</h2><img src="img.gif" alt="開閉ボタン" width="20" height="20" /></div>
<div class="outline">
概要概要概要概要概要概要概要概要
</div>
<div class="title"><h2>タイトル</h2><img src="img.gif" alt="開閉ボタン" width="20" height="20" /></div>
<div class="outline">
概要概要概要概要概要概要概要概要
</div>
<div class="title"><h2>タイトル</h2><img src="img.gif" alt="開閉ボタン" width="20" height="20" /></div>
<div class="outline">
概要概要概要概要概要概要概要概要
</div>
</div>

「開閉ボタン」をクリックすると、概要の部分がアコーディオン風に開閉する。そのようなプログラムをjQueryで実装すると以下のようになります。

PHPでシステムを構築する際に、ユーザとパスワードを管理する会員制サイトなどを作ることがあります。
基礎的なところから設計すると、いろいろとめんどうな処理が出てきます。例えば、

  • 無効なユーザはログインさせない
  • ログイン前、ログイン後、さらには認証に失敗したときの表示の切り替え
  • ログイン状態の保持(画面遷移、ブラウザを閉じる、時間/日数後にログイン状態をクリアするなど)

毎回、これらをゼロから構築するのは大変なので、ライブラリにまとめたいところですが、クライアント毎に細かいところの仕様が異なるため、それに対応させるのも難しいです。

そこで、今回、PEARのAuthを使ってみることにしました。

今日、とある牛丼屋さんでこんな風景に出会いました。

券売機でおつりが出ないという初老のお方。そう言われた店員は、レジのような機械で履歴のようなものを調べているようです。そこらへんのただの安っぽい券売機ではなく、システムを搭載したやつなんでしょうね。
「お客様、調べてみたのですが、そのような記録がないようなので」という店員に、初老は「確かに入れたのに、おつりが出なかったんだよ」というやりとり。
自信の店員と反抗する初老、傍から見ると初老がウソをついているかのような状況。最終的には店員が「業者さんに調べてもらった後、返金があれば連絡しますので、連絡先を教えてください。」というのに対して、初老は「もういい!」とご立腹のようすで連絡先を教えようとしない。

Monthly Archives