の形で呼ぶ。
//
// 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
使い方
| 記事ページに文章を入れるには、単に文章を書き込んで「書込」ボタンを押すだけです。 |
|
|
新しい段落を作ると自動的に文章入力欄が表示されます。 ここに文章を入力し、「書込」ボタンをクリックすると文章が入ります。 ほぼそれだけ。 あとは多少のコツですが、 | ・ | 内容のまとまりごとに段落を分けて作成しておくとあとで編集や制御が楽です。 ・段落ごと順番を変えたりその段落をそっくり背景や文字を変えて強調したり、枠で囲ったりできます。 ・段落ごとに写真か表(どちらか一方)を入れたり、あとで追加で入れたりできます。 ・場合によっては段落ごと削除したりパスワードを仕掛けたりといった制御も楽です。 | | ・ | 段落は段づけできます。 ・標題のある段落は自動的に1段下げられます。 ・標題の欄または標題の頭に"+"あるいは"+数字"をいれますとその分段付けされます。 |
|
文章入力欄はこんな感じ。ただしこれは初期のもの。 その後段落の表示等を制御するボタンや入力欄が少し追加されています。
|
|
上部が実際に表示される内容、下部(赤枠)が文章入力欄。
|
編集での注意
注意事項として、文章にはHTMLタグの仕様を許しています。 <div>とか<span>などは文章の書式制御によくつかわれますが、その他<table>関係のタグ、<style>、さらには<script>でjavascriptを使うことさえ可能です。 ← <script>document.write("Hello");</script>と書きました。
ここでタグの記述あるいは使い方をまちがうと、場合によってはページ全体、あるいはサイト全体に影響が出ることがあります。そのときはこの編集画面が表示されなくなったりめちゃくちゃになることもあります。
よくあるミスはスペルミスやカッコ、クオーテーション("")の対応ミス、終了タグの記載忘れなどです。 ミスった場合編集部分で修正できればいいのですが、最悪段落の削除、ページの削除、それでだめならデータベースソフトによるSQLデータの修正などが必要になります。(実際段落削除まではありました。) 編集と表示を同時にやっている方式では要注意な部分です。 (タグを制限するとか編集部分を別窓にするとか、将来何か考えてみよう。)
|
CSS class
文章を書き込んでいますと、都度文字を大きくしたり色を変えたりして自分の考え、思い、感情などを少しでも正しく伝えたいと思うことがあります。この気持ちと努力は尊いものだと考えます。 ただそのためには、WEBページの場合、一般的にはスタイル指定をするというけっこう面倒な方法が一般的です。
白地に太く大きな赤い字と書くには <b style="background-color:white; font-size:large; color:red;">白地に太く大きな赤い字</b> と書かなくてはなりません。(<b ...>は太字(bold)を指定する古くからの指定タグです。)
これが少しでも楽になるようにとIRORIBATAではスタイルのclassというのを準備してあります。 上記の例ですと、 <b class="bg-white large red">白地に太く大きな赤い字</b> と書きます。
これでずいぶんわかりやすく楽になりました。スタイルシートで別途指定するのがいいと言う人もいますが、文章を投稿窓から打ち込む方式では個々に細かなstyle指定は全く不向きです。書式をスタイルシートに分けるのはその昔検索ロボットが文章の内容を理解しやすいようにと考えたためのようで、現在の高性能検索ロボットには全く関係はないようです。
|
|
|
|