の形で呼ぶ。
//
// 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"を作るにあたって特に留意した、特徴とも言えることをごく簡単に紹介します。
|
◎書込みが容易
ホームページソフト等は必要ありません。 ブラウザから文章を打ち込んで「書込」ボタンを押すだけです。
また写真の挿入も「参照...」でファイルを選び、「書込」ボタンを押すだけです。
|
◎読みやすい
単純に左のINDEXフレームに題名、右の記事フレームにその内容を表示します。一見してサイト構成や記事内容がすぐわかります。
記事の表示は可能なかぎり横スクロールはしなくていいようにしています。 その他、文字の大きさ、色使いなど極力読みやすいことを重視して表示するよう配慮したつもりです。
|
◎写真表示機能が充実 (詳しくは「写真の挿入」のページに)
写真を見やすいようにページに挿入することに特に気をつかいました。
|
例として写真を左に配置し、サイズ240pxを指定しています。 この表示サイズは、極小120px,から極大800pxまで7段階で指定でき、元写真から自動でサイズ縮小されます。 写真にタイトル、説明などを入れることができます。 写真は複数枚並べて入れることもでき、画面の幅に合わせて自動的に配置されます。 配置は上、下、左、右を選択できます。
|
◎設定が容易
サイトやページの設定がブラウザから簡単に行うことができます。 項目毎に簡単な説明文があり、それを見れば内容がわかります。 | ・ | サイトのタイトル、ページのタイトル | | ・ | 各種ボタン、アクセスカウンター、Powered byロゴ、コメントなどの表示非表示 | | ・ | ページ毎の背景色や背景画像 | | ・ | タイトル画像の設定や編集 などなど |
|
×多少欠点
IRORIBATAには多少の欠点はあります。あらかじめお知らせしておきます。 | ● | 一般公開するサイトを前提に作っています。そのためセキュリティーを要求するなら認証をかける必要がありますが、それでも個人ごとにID:PWを認証して内容まで制御するようなサイトには向きません。 サイト全体、あるいは各ページや一部文章の表示を制御する程度の簡易的な閲覧認証をかける機能はあります。 | | ▲ | 基本的にはある程度知識のあるサーバー所有者が自分のサーバーにインストールして自分のページを作ることを前提にしており、ページ作成や入力に対する細かいチェックやエラー考慮はあまり行ってはおりません。 | | ー | HTMLやプログラムをきっちり理解して書いているわけではないので、かなりいい加減なコードがあると思います。プロにはあまり推奨されないとわかっている方法も使っています。使いやすい見やすいをモットーとして結果オーライの世界で遊んでいますので、そういうところはお許しください。 | | ー | 表示にJavaScriptを使っており、これらを無効にしたブラウザではまともに表示されません。もっともログを見る限り最近は(検索アクセスは別として)ほとんど無効のブラウザはないようです。(時折無効にした胡散臭いアクセスがありますが気にしない。) | | ・ | ブラウザはInternetExplorer、Edge、Firefox、Chrome等主なブラウザで確認しておりますが、最近はどれでもほとんど問題なく表示されています。 |
|
|
|
|