パナソニックの松下幸之助 一日一話をハックする。

大企業のWebPageは、さすがに金かかっています。

特に、手堅い所を落としどころにする、という発想は、ギークな皆さんのギミックばかりに目が行きがちな私たちの盲点です。

ということで、金のかかった手堅さを学ばない手はない、ということで、世界のナショナルに学んでみましょう。

結構大変だった。ソースは以下の通り。

01:<!doctype html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
02:<html LANG="ja">
03:<head>
04:<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=shift_jis">
05:<script TYPE="text/javascript">
06:<!-- // 松下幸之助 一日一話(PHP研究所編)を表示
07: function include(){
08: var today = new Date();
09: var mm = today.getMonth() +1 ;
10: mm = "0" + mm;
11: mm = mm.substr(mm.length - 2, mm.length);
12: var dd = today.getDate();
13: dd = "0" + dd;
14: dd = dd.substr(dd.length - 2, dd.length);
15: document.getElementById("idName").value = ( "http://panasonic.co.jp/founder/words/resource/DS" + mm + "" + dd + ".HTML");
16: }
17: // -->
18: </script>
19:<title>幸之助君の今日の一言</title>
20:</head>
21:<body>
22:<form ACTION="Null">
23: <p>
24: <iframe ID="idName" ONLOAD="include();" VALUE="Null" HEIGHT="0" WIDTH="0" NAME="idName">
25: </iframe>
26: <input ONCLICK="window.open(document.getElementById('idName').value,'','resizable=yes,scrollbars=yes,width=500,height=300');" TYPE="button" VALUE="幸之助君の今日の一言">
27: </p>
28:</form>
29:</body>
30:</html>

以下、ポイント解説:

15行目、getElementByIdで呼ぶのが今風らしい。

24行目、Valueを持たせてちゃんと値が入るエレメントを探すのが大変だった。
たとえば<div id="idName" value"Null"><div>や<input id="idName" TYPE="hidden" VALUE="nill">ではダメみたい。
ホントはこのiframeの中に呼び出せば良いんだけど、さすが松下。http://panasonic.co.jpからのREFERERの有無を見ているっぽい。
これではリダイレクト→再読み込み…の無限ループでブラウザCrusherになってしまう。
ここではダミーオブジェクトとして、valueを持たせるためだけに使う。よってフレームの大きさを0に設定する。

26行目、24行目でダミーのvalueを作ったものを、引っ張ってくる。

わかったこと。

パナソニックは実に緻密な仕事をする企業集団である。