Website made with rich jQuery,Ajax & Perl,PHP
ジオステーション
Sponsor
Ajax
[最終更新日:2011/01/29]
Ajaxは、簡単に言えばページをリロードしないでドキュメントを読み込む機能で、 難しいとお思いの方も多いのではないでしょうか。 もちろん高度な事を行おうとすれば、それなりの知識と経験が必要になりますが、 誰にでも簡単に使用可能な先端技術です。人間にとって簡単だ物が高機能なのです。

ページに外部ファイルを読み込む方法としては、SSIやFrameが有りますが、それぞれ大きな欠点があります。 SSIは、サーバが許可していなければ使用できないことと、最初に1度だけしかIncludeできないことです。 Frameは個の欠点をカバーしていますが、アクセスがフレームごとの独立したヒストリーになり1ページとはカウントされません。 また、挿入される位置がFrameやiFrameが設定されている領域に限られ、階層(parent)の管理だけでも厄介です。 Ajaxは、これらもカバーしています。1ページで何度外部ファイルを呼び出しても1ページです。 しかも、ページのどこにでも表示できます。

  function getAjaxText(url, obj, func) {
 	var AjaxObject = false;
 	if (window.XMLHttpRequest) {
 		AjaxObject = new XMLHttpRequest();
 	} else if (window.ActiveXObject) {
 		try {
 			AjaxObject = new ActiveXObject("Msxml2.XMLHTTP");
 		} catch(e) {
 			AjaxObject = new ActiveXObject("Microsoft.XMLHTTP");
 		}
 	}
 	if (!AjaxObject) return;
 	var myDate = new Date;
 	url += '&t='+myDate.getTime();
 	AjaxObject.open('GET', url, true);
 	AjaxObject.send(null);
 	AjaxObject.onreadystatechange=function() {
 		if (AjaxObject.readyState==4
 			&& AjaxObject.status==200) {
 			document.getElementById(obj).innerHTML =
 			AjaxObject.responseText;
 			if (func) {
 				func();
 			}
 		}
 	}
 }
  
外部ファイルを挿入するAjaxならこれだけで十分です。 このコードを「ajax.js」としてサイトのルートディレクトリに保存してください。 この構成ならヘッダーの</head>タグの直前(11行目)に以下のように挿入しておけば全てのページでAjaxが使用可能になります。
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
 <meta http-equiv="Content-Language" content="ja" />
 <meta http-equiv="Content-Style-Type" content="text/css" />
 <meta http-equiv="Content-Script-Type" content="text/javascript" />
 <title>リッチなサイトを作ろう|inetagency</title>
 <script type="text/javascript" src="/jquery/jquery.js"></script>
 <script type="text/javascript" src="/ajax.js"></script>
 </head>
 <body>  
それでは実際の使用方法を見てみましょう。
  <div id="ajaxText_area" style="
 	background:#fff;
 	position:absolute;
 	left:100px;
 	top:400px;
 	width:400px;
 	display:none;
 	border:solid 2px #000;">
 	ここにAjaxで読み込んだドキュメントが挿入されます。<br />
 	スタイルシートでdisplay:none;と設定していますから表示されません。<br />
 	実際にはこの領域に外部ドキュメントが挿入されますので、この文章は永久に表示されません。
 </div>
 <a href="javascript:void(0)"
 onclick="getAjaxText('rule.txt?', 'ajaxText_area');
 getElementById('ajaxText_area').style.display='block';">ここを押して外部ファイルを表示</a>
 <a href="javascript:void(0)" onclick="getElementById('ajaxText_area').style.display='none';">ここで閉じます</a><br />  
ここを押して外部ファイルを表示
ここで閉じます
いかがですか。デフォルトで設定しているドキュメントではなく、外部ファイル「rule.txt」が表示されましたね。
この例では、12行目のgetAjaxText関数で外部ファイル「rule.txt」を読み込み、id="ajaxText_area"に挿入しています。 id="ajaxText_area"は、スタイルでオーバーラップさせて表示していますが、idが設定されていればどこにでも挿入可能です。

こちらのサービスジオステーションも、そのほとんどがAjaxで動作していて、 どのような操作を行ってもページが移動(再読み込み)することが有りません。 もちろん、CGIで動作していますので外部システムを呼び出しています。

そう言えば、この下にあるコメントフォームもAjaxですね。 formなのに記事を投稿してもページをリロードしません。 リロードしなくても投稿記事は即座に反映されます。
Comment
$(this).corner("left");コメントに関するお約束

  1. ご意見、ご希望、ご質問など、何かありましたらご投稿ください。
  2. ご質問に対する回答は、分かる範囲でお答えしますが、お約束は出来ません。
  3. 投稿していただいたコメントはこのページに記載されます。
  4. コメントは各ページごとに独立しています。それぞれのテーマに沿ったコメントをお願いします。
  5. タグはいっさい使用できません。タグもそのまま表示されます。
  6. 印は必須です。ハンドル名でも結構ですのでご記入ください。
  7. パスワードを記入しておけばご自分の記事を削除できます。
  8. 当サイトにふさわしくないと判断した記事は管理者の独断で削除することがあります。
お名前
パスワード
件名

Enquete
このページの情報、記事はお役に立ちましたでしょうか?
はい いいえ どちらとも言えない

※ご意見が有ればどうぞ(公開されません)
更新履歴
10/07/26 Winテーマの変更
10/06/08 まだまだ使えるXP
10/06/02 jQueryテーマ...
10/05/25 Win7は業務に...
10/04/11 携帯位置情報取得
10/03/09 カレンダーの追加
10/03/01 サービス開始
有料サービス
  1. データ変換サービス
    番地まで記載されたテキスト形式の住所データをお持ちの場合、「緯度」、「経度」及び、 「最寄り駅」と座標、「最寄のインター」と座標の情報を追加したCSVデータを作成してお返しします。 座標付ですので簡単にGoogleマップに位置表示することができます。
    【例】
    名称 住所
    東京タワー 東京都港区芝公園4丁目2-8

    名称 住所 緯度 経度 沿線 最寄り駅 緯度 経度 高速名 インター 緯度 経度
    東京タワー 東京都港区芝公園4丁目2-8 35.6585873 139.7454247 都営大江戸線 赤羽橋 35.655007 139.743642 首都高速都心環状線 芝公園 35.6544767 139.745769
    ※住所データは必須です。電話番号では特定できません。

    費用は1件当たり、わずか32円。100件で3,200円、1000件でも32,000円です。
    追加される最寄り駅、最寄のインター共に直線距離で最も近いもの1件です。複数必要な場合はお問合せください。
  2. システム開発
    Googleマップや最寄り駅、最寄のインターを利用したWEBシステムを開発します。
    自社製品が全国どこで購入可能で、どの駅で降りれば1番近いのかなどをユーザにお知らせすることができ、販売促進にも貢献します。 また、ご自分の住所を指定して最も近い店舗を検索したり、距離を指定して範囲内の店舗を検索して地図を表示するシステムの開発もできます。
    もちろん、携帯版も可能です。
    携帯版はGIF形式の静止画ですのでキャリヤや機種を選びません。 ほぼ、全て機種で使用可能なシステムになります。

    携帯電話ですからWEBのようなパフォーマンスは望めませんが、 静止画でも地図の「縮小」、「拡大」をサポートします。
    お見積もりは「お問合せ」から、 ご希望の機能をできるだけ詳しくお書きいただき、お送りください。
  3. 最新のユーザインターフェースの導入
    現在注目を集めているAjaxやJavascriptを使用したハイセンスなインターフェースの導入をお手伝いします。
    jQueryプラグインのオーバーレイを複数使用した最先端のドキュメントの生成が可能になります。 また、オーバーレイやAjaxを使用する事で、無駄なリロードを減らすことができ、パフォーマンスも向上します。
お問合せフォーム
  1. 全てのお問合せはこちらの専用フォームをご使用ください。 もちろん、ご意見/ご希望でも結構です。
  2. システムに存在しない路線や、新たに開通した路線をご存知の場合はお知らせください。
  3. 有料サービスで新たなシステム開発のお見積もりをご希望の場合は、 出来る限りご希望の機能を詳しくお願いします。
  4. は必須項目です。必ずご記入ください。
お名前
フリガナ
Email
Email(確認) ※確認のためもう一度 (コピー禁止)
タイトル お問合せ お見積もり ご意見/ご希望
内容