の形で呼ぶ。
//
// 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以外で作成した既存のページや異なるサイトの他のページなどをそのまま取り込んで表示する機能があります。 これにより過去に作成したホームページをIRORIBATAで再構築したり、サイトの中にさらにサイトを構築することが簡単にできます。 |
|
|
IRORIBATAでホームページサイトを作り直したときに、昔のページ(ホームページビルダーなどで作った)をどうするかという問題にでくわしました。 とてもとても内容を打ち込み直すなどという気にはなれません。
昔のページをそのままIRORIBATAのページとして表示する機能があれば、簡単にサイトの再構築ができます。 そこで、いくつかの私設タグを定義し、この機能を実現しました。
<a>タグに似ていますが、表示させる動作に少しちがいがあります。
|
<PEEK href="URL">タイトル</PEEK>
|
|
peekは「覗く」という意味です。 左のINDEX欄にタイトルを表示し、それがクリックされると右の記事欄にURLのページを表示します。
"URL"は"http://...."、または同じサーバー内なら"ファイルパス"でもかまいません。(以下同様)
<a>タグを使って <a href="URL" target="main">タイトル</a>としても同じようなことはできますが、<a>タグとのちがいは、<a>タグの場合クリックしないとURLのページは表示されません。 <PEEK>タグでは元ページを指定しただけで自動的にURLページが表示されます。 昔作った古いページなどをそのまま取り込んで表示するのに使用できます。
|
<VISIT href="URL">タイトル</VISIT>
|
|
visitは訪問するという意味です。 左のINDEX欄にタイトルを表示し、それがクリックされると新しいウィンドウまたはタブにURLのページを表示します。 他のサイトの紹介などに使用します。ここで<PEEK>を使って他人のページを自分のサイトに取り込んで自分のページのように表示するのはマナーとしてはお薦めできませんので<VISIT>をつかいましょう。
|
<JUMP href="URL">タイトル</JUMP>
|
|
jumpは飛ぶという意味です。 左のINDEX欄にタイトルを表示し、それがクリックされるとウィンドウの内容は(INDEX欄含めて)そっくりURLのページに移動します。 複数のサイトの集合としてサイトを構築したときのサイトの移動などに使用します。
|
但しこれらの機能は一部のモード(一気読みモードやタイトルリストなど)では通常のリンクとして表示されます。
|
その他リンク
本文の中にも<a>タグを入れることができます。 ただし、サイト内の同じページか他のページか、あるいはサイト外へのリンクかで書き方が異なります。
<a href="#anchorname">タイトル</a> …同じページの別の場所(アンカー) 目的の場所のタグにidを設定するか、<span id="anchorname"></span>を入れておきます。
<a href="index.html?id=xxx" target="_top">タイトル</a> …サイト内の別のページ。書き換えるならトップから書き換えないといけません(INDEXと記事で不一致が生じる)。targetを"_top"あるいは"NewWindow"など指定。
<a href="http://......" target="NewWindow">タイトル</a> …サイト外へのリンク。他人の記事を無断で自分のサイトの一部として表示するのはだめ。必ずtargetを"_top"あるいは"NewWindow"など指定。
<PEEK>, <VISIT>, <JUMP>との違いは、前の3つはタイトルが左のINDEX欄に表示されるのに対し、これらは本文中(<a>タグの位置)に表示されます。
|
|
|
|