の形で呼ぶ。
//
// 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);
}
//-->
ふいちゃんの中国日記
仕事編
|
|
e-mailを利用していると、ときどき原因不明の「文字化け」が生じた経験のある方はかなり多いのではないかと思う。 わたしが今使っているのはWindows XPであるが、これには諸外国語のソフトが標準で入っているので一昔ほどは苦労しなくて済む。 中国文も簡単に書くことができるようになっている。 日本文と中国文を同じ画面に書くこともでき、とても便利である。 しかし、コンピューターソフトはまだ完成域に達していないらしく、しょっちゅう文字化け現象が発生する。 同じ中国文がある人の電脳では読め、ある人の電脳では文字化けになる。 同じ条件設定しているのに以前は問題なく読めたのが突然読めなくなったりすることは日常茶飯事である。
この「文字化け」を大連では“乱碼”といっている。 わたしの持っている辞典にはこの言葉が載っていないので中国全体で標準的に使われているかどうかはわからない。 「文字化け」が起きると見たこともないような漢字状の得体の知れない記号や、どこの国の言葉かまるっきり見当がつかないアルファベット状の記号がでてくる。
世の中にびっくりすることは数多くあるが、これもその一つ。 こんど来た通訳は英語がまるでわからない。 多くの日本人は意味はわからなくても、「あ、これは英語だな」という程度はわかるものだが。 ある資料を電子版でくださいと事務所へ入ってきたのでUSBで渡した。 2〜3分してさきほどの資料は「文字化け」して見えませんと訴えてきた。 そんなバカな筈はないのである。 USBにコピーしてから実際に読出し確認して問題がないことを自分の目で確かめてから渡したのだから。
「この部屋の電脳は問題なくても私の電脳はまちがいなく文字化けが起きています。」と譲らない。 「うそだと思うのなら見てください」というので行ってみた。そして驚いた。驚いた。 画面にはれっきとした英語文が並んでいたのだ。 彼女はUSBの中にたくさん入っている資料で、わたしが取込んだ資料とは別の資料を開いていたのだ。
そしてわけのわからない文字がびっしりと並んでいたので“乱碼”と判断してしまったのだなということがわかった。 おかしくても笑うわけにもいかない。本人はいたってまじめなのだから。 れっきとした英語文をあの文字化けしたときの奇妙なアルファベット状の記号だと思ってしまったのだ。
「おいおい、これは乱碼ではなく英語文だよ。」と言っても簡単に信用しない。 「違います。乱碼です。」 「そんなことはないよ。これは英語文。」 「それではこれはどういう意味ですか」 とさらに食い下がってくるので、止むを得ず英語文を読んで聞かせ意味を説明する。 しかし、読んでいくうちに私の知らない単語が出てきたので、あまり化けの皮がはげないうちにと適当なところで打ち切る。
「とにかくこれは私が渡した資料ではないよ」といいながら資料を探し出して開こうとしたら、なぜか 「それも乱碼だから駄目ですよ。」という。 「そんなことはないよ。ほらっ。」と言いながら開いて見せたら、 「あれっ」と言ってそばに突っ立ったままである。
思い込みというのは恐ろしい。 しかし、この通訳、とてもまじめで性格もよい。いずれ戦力になってくれるであろう。
【註】 乱碼 luan ma ルアン マア 文字化け
|
|
|