ホームページにIE5.5でもPS3でも動く情報窓を組み込もう!

ホームページにInternet Explorer 5.5でも、PlayStation 3でも動作してしまう情報窓を組み込む(埋め込む)方法を紹介します!

ひととおり読んでからの利用を推奨しますが、手っ取り早く組み込みコードが欲しい人は呪文じぇねれーたーへどうぞ。

他の呪文じぇねれーたーを探す

情報窓とは

その名のとおり様々な情報を選択的に表示できるウィジェットです。
今日の歴史や行事、誕生日の有名人リスト等が用意されています。

ここで説明する情報窓の組み込みには、例によって総合情報通信技術研究機関 ADS(通称ソフトハウス ADS、ADS)と呼ばれるNGO、民間の工学研究機関がサービスしているシステムを流用します。

ツイ窓の一件で反省しまして、今回は最初に了承を頂きました。
利用した結果について自己責任であることを条件に、黙認して頂けるそうです。

ADS式情報窓の長所

注意点

組み込み方法

ADSのトピックス・システムのURL(http://ads.selfip.com/topics/)や配下のCGIに対し、組み込みたい情報窓の仕様をクエリに記述して投げると、仕様に沿った情報窓が出力されます。
サーバーへクエリを渡す手段には様々な方法がありますが、ここで解説するクエリとは、URLの末尾に付与する文字列のことです。
URLの末尾に?を加え、その後に名=値の形式(いずれも半角)でデータを渡します。
各データは半角の&で区切り、例をあげると次のようになります。

http://ads.selfip.com/topics/ ? t=h&fs=11&fc=808080
クエリ

この場合、t=h&fs=11&fc=808080がクエリ文字列です。
つまり、この例では、要素tの設定がh、要素fsの設定が11、要素fcの設定が808080ということになります。

データを受け取ったADSのトピックス・システムが、クエリで指定した情報を、クエリで指定した仕様に沿い、PlayStation 3でも正常に表示できる形式で出力してくれます。
ホームページ製作者は、それをホームページ内の情報窓を表示したい位置に <iframe> で組み込んでやればいいだけです。
たったそれだけで、PlayStation 3だろうがIE5.5だろうが、正常に表示される情報窓をホームページに組み込むことができます。
複雑なプログラミング言語を習得する必要は一切ありません。

各要素名と意味は次のとおりです。

※組み込む情報窓の種類によって使用しない要素もあります。

t 種類 tbfc ヘッダ文字色
fs 文字の大きさ bc 罫線色
fc 文字色 tbgc 本文背景色
bgc 背景色 stbc 項目背景色
tbc ヘッダ色 stbfc 項目文字色

トラブル対策

糞ブラウザーとして名高いiPhoneやiPadのSafari等は <iframe> のサイズをうまく調整しないので、その問題を解決するために <div> で囲ってゴニョゴニョしておく必要があります。
具体的には以下のようにします。

  <style>

  .outer_frame {
 
     width: 320px;
     height: 320px;
     overflow: auto;
     -webkit-overflow-scrolling: touch;

  }

  .inner_frame {

     width: 100%;
     height: 100%;

  }

  </style>


  <div class="outer_frame">

     <iframe src="hogehoge" class="inner_frame"></iframe>

  </div>

内側にある <iframe> のサイズをwidth、height共に100%とした上で、外側の <div> に狙ったサイズを指定する形です。
このコーディングなら、多くのブラウザーでトラブルなく表示されると思われます。

これとは別の問題として、ADSのトピックス・システムがメンテナンスやトラブル等で正常に動作しないとページの読込が完了せず、貼り付けるホームページの仕様によっては、そのタイミングでホームページが表示されない事態が考えられます。

※メンテナンスは毎日、主に早朝に行われているようで、その時間帯は情報窓の読み込みが終わりません。

トラブルやメンテナンス中などでページ全体の表示が遅れる事態を回避するため、以下のように、ひととおりページの表示を終えてから情報窓の中身を読み込むようにしたほうが良さそうです。

window.onload = function() {

     document.getElementById("history").src = "http://ads.selfip.com/topics/?hogehoge";

}

つまり <iframe src="" id="history"> のように最初は <iframe> 側のsrcを空にしておき、ページを読み込み終えたタイミングで history のsrcを設定すれば問題は解決します。
この方法なら、情報の読み込みに時間がかかるか、何らかの事情で情報窓が読み込めない場合でも、ページ自体は表示を完了できます。
自分で工夫したように偉そうに書いていますが、どちらもADSの実装を丁重にパクらせて頂きました。
ただ、これはJavaScriptの実行を前提とした手法なので、JavaScriptを利用しないで動くようにしたい場合には上記の手法が使えません。
その場合には呪文を直接srcに記述しましょう。

呪文じぇねれーたー

いずれかの項目を変更するたび、下段のテキストボックスへ、組み込みに必要なソースコードがジェネレートされます。
プレビューを押すと実際の情報窓が表示(窓サイズは固定)されますので、完成品の雰囲気を確認できます。
「呪文をコピー」ボタンを押すと、ジェネレートされたコードがクリップボードにコピーされるので、ホームページの情報窓を組み込みたい位置にペーストすれば(貼り付ければ)、簡単に情報窓が組み込めます。

※ソフトハウス ADS公式情報窓の値がデフォルトになっていますので、カスタマイズしたい部分を変更してください。

※複数の情報窓を同じページへ同時に組み込むことも可能です。

ここで1点、申しわけありませんが「IE5.5でも動くぞヤッホぅ!」と散々語っておきながら、呪文じぇねれーたーをIE5.5に完全対応させられませんでした(うぉい)。
一応IE5.5でも動作するようには作っていますが、何かの拍子にスクリプト・エラーが生じるかもしれません。
入力エラーのチェックは一切行っていません。
正直IE8対応も完璧にはできなかったので、IE5.5とかマジ無理、マジ勘弁で、このへんが私の技術の限界のようです。
旧ブラウザー対応に足を突っ込んでみると、いかにADSの技術力が ”ありぇんてぃ” なのか、「謎」と形容されている理由を痛感されられます。
恐らくADSでは、数十人の優秀なエンジニアが、総掛かりで研究開発しているものと思われます。
動かなければ最新のブラウザーで試して頂くか、呪文を直接編集してください(ホントごめん)。
ジェネレートされる完成品は安心のADS製となりますので、IE5.5でもちゃんと動作します。

プレビュー

種類 px
 
横幅 px
 
縦幅 px
 
文字の大きさ px
 
文字色#
 
背景色#
 
 
ヘッダ色#
 
ヘッダ・項目文字色#
 
罫線色#
 
本文背景色#
 
項目背景色#
 
項目文字色#
 
 

呪文(ソースコード)

ソフトハウス ADSに感謝して使いましょう。

《 十文字 じゅもんじぇねれーたー 》

inserted by FC2 system