の形で呼ぶ。
//
// anchor_idはフレームを使う場合最低限各フレームごとに設定。お互い他のフレームを書換えたときにへんな干渉をさけるため。
// その他ページの種別毎などで変えてもよいが、あまり小分けにするとcookieが増える。
// 同じanchor_idで保存されるcookieは1セットのみ。でも単独ページ表示のサイトなら概ねこれで充分。
anchor_id = "anc_main";
noanchor = false; // bodyにanchorをしかけたときなど場合によって一時無効にするためのフラグ。
// アンカーの記憶。
function anchor_save(object_id, page_id) {
if(noanchor) { anchor_erase(); return; }
get_scroll();
setcookie(anchor_id+"_pid", page_id, 0);
setcookie(anchor_id+"_st", scroll_top, 0);
setcookie(anchor_id+"_sl", scroll_left, 0);
if(object_id) {
object_top = scroll_top + get_object_top(object_id);
object_left = scroll_left + get_object_left(object_id);
setcookie(anchor_id+"_oid", object_id, 0);
setcookie(anchor_id+"_ot", object_top, 0);
setcookie(anchor_id+"_ol", object_left, 0);
} else {
setcookie(anchor_id+"_oid", "", -1);
setcookie(anchor_id+"_ot", "", -1);
setcookie(anchor_id+"_ol", "", -1);
}
}
// アンカーの適用。
function anchor_apply(page_id) {
if((saved_page_id = getcookie(anchor_id+"_pid")) && page_id != saved_page_id) { return; }
get_scroll();
if((anchor_st = getcookie(anchor_id+"_st")) != "" && (anchor_sl = getcookie(anchor_id+"_sl")) != "") {
anchor_st = parseInt(anchor_st);
anchor_sl = parseInt(anchor_sl);
} else {
anchor_st = scroll_top;
anchor_sl = scroll_left;
}
if((object_id = getcookie(anchor_id+"_oid"))
&& (anchor_ot = getcookie(anchor_id+"_ot")) != ""
&& (anchor_ol = getcookie(anchor_id+"_ol")) != "") {
offset_top = (scroll_top + get_object_top(object_id)) - parseInt(anchor_ot);
offset_left = (scroll_left + get_object_left(object_id)) - parseInt(anchor_ol);
} else {
offset_top = offset_left = 0;
}
window.scrollTo(anchor_sl + offset_left, anchor_st + offset_top);
}
// アンカー消去。あえてとっておく必要がなければanchor_apply()後すぐ消去が望ましい。
function anchor_erase() {
setcookie(anchor_id+"_pid", "", -1);
setcookie(anchor_id+"_st", "", -1);
setcookie(anchor_id+"_sl", "", -1);
setcookie(anchor_id+"_oid", "", -1);
setcookie(anchor_id+"_ot", "", -1);
setcookie(anchor_id+"_ol", "", -1);
}
//-->
IRORIBATA
| IRORIBATAの動作環境とざっとの仕様や機能です。 |
|
|
IRORIBATAはインターネットサーバー(HTTPサーバー)に入れて使います。 個人用パソコン内でもwebソフトのapache2とphpが動けばデータ管理用などには充分使えますし、場合によっては外部公開も可能です。
|
動作環境
以下はIRORIBATAが稼働している私のインターネットサーバーの環境です。 → 現在(2023年1月)はヘテムルのレンタルサーバーに移動しています。| 項目 | 環境 | 詳細 |
|---|
| サーバーOS | Linux | 今までVineLinux4 → CentOS5〜7 → LinuxMint。 Linuxなら問題ないと思いますがWindowsでは試していません。。 | | サーバー言語コード | EUC-JP →UTF8 | 違う場合はファイルの言語コード変換が必要かもしれません。 →2022年以降UTF8に変更しています。 | | HTTPサーバー | Apache2 | apache2.2および2.4で稼働確認。 | | プログラム言語 | php5〜8 | おもにApache2組込モジュールを使用。cgi方式でもOK。 | | データサーバー | SQLiteまたはMySQL | いずれか選択可能。大がかりなサイトでなければSQLiteで充分。 両方稼働で片方をデータベースの予備(バックアップ)とするも可。 | | メールサーバー | Sendmail, Postfix等 | コメント通知メールを送るのに使用。必須ではない。 サーバー内でsendmailコマンドが使えればOK。 | | 他 必要ソフト等 | Imagemagick | jpg以外の画像を処理するのに使用 (jpgはphpで処理)。 必須ではないが専用画像ソフトのほうが結果が良好。 | | ” | shell(bash) | 一部のLinux shellのコマンドを使用。 |
|
ちなみに初期サーバーとして使用していたコンピュータはいにしえのNEC Mate MA70Hで、CPU速度は700MHz、メモリーは512MBに増強しました。これでも十分な実用速度は得られていました。 → 2022年2月にHETEMLのレンタルサーバーに行移しています。
|
IRORIBATAの機能
| 項目 | 機能 | 詳細 |
|---|
| 画面構成 | 2画面 | iframeで2画面に分割し、各々記事タイトルと記事内容を表示。 | | 記事編集 | ブラウザ使用 | 掲示板やブログと同様のブラウザによる投稿形式。 | | 編集権限 | 要認証 | 書込・編集用のID:パスワードによる認証。 | | 閲覧権限 | 認証可能 | 基本的には公開サイト前提だが認証は可能。ページコンテンツについては簡易的に独自の閲覧パスワードをサイト全体、ページ毎、あるいはページの一部に設定可能。 | | 表示内容 | 文章、写真、表、地図 | 同一記事ページ内に混在表示可能。 | | 文章装飾 | 特別な編集機能はなし | ページ内ブロック単位で文字サイズ、文字色は設定可能。 その他必要なら自分でタグやスタイルで設定。<b><span style="...">など。 | | 写真挿入 | 可能 | 投稿形式で指定サイズに自動縮小し挿入可能。 枚数制限なし、配置は文章に対し上下左右指定可能。 写真にタイトル、説明を表示可能。 | | 写真拡大 | 可能 | 写真のクリックで拡大表示/戻り。 拡大はブラウザ画面合わせ、原寸表示いずれも可能。 | | 表 | 挿入可能 | 行と列の構成で内容は文字列。計算機能等はなし。 枠(border)、背景など多少の指定可能。この表がそれ。 | | 地図 | 表示可能 | 画像上に位置マーカー、距離表示などが書き込めます。 但し地図画像そのものは自分で準備する必要があります。自分で描いたイラスト地図などに使用する程度。 | | コメント投稿 | 有 | 使用・不使用、ページ内表示・別ウィンドウ表示切替可能。 メールサーバー(sendmail,postfixなど)が稼動していればメールによる投稿通知が可能。 | | トラックバック | 無 | 以前ブログでしつこく宣伝書込スパムされたのでやらない。 | | 各種設定 | ブラウザ使用 | 約110項目をブラウザから設定可能。 | | アクセスログ | 有 | 接続、日時、ブラウザ他記録。ブラウザに表形式で表示。集計機能はなし。 | | カウンター | 有 | 表示、非表示切替可能。 | | サイト内検索 | 有 | 簡単な語句、文章検索。 | | その他余計な機能 | タイトル写真 | 記事タイトルの部分(ページ上部)に背景写真をランダムに表示できます。 簡単なページの紹介なども可能です。このサイトでも表示しています。 | ” | タイマー | タイマーによるページの表示制御が可能。 毎年正月七日間新年の挨拶ページを表示するとか。 | ” | 検索ロボット判別 | 検索ロボットのアクセスを判別し、ロボットさんが読みやすいように出力してあげています。(一部逆に見せない場合もあり。) | ” | 一気読み | サイトのすべての記事を一気に表示することができます。 | ” | バックアップ | サイトのプログラムやデータをそっくり.tgzファイルとしてバックアップ可能。 サーバーの故障や移転に対応できます。 |
|
|
|
|