の形で呼ぶ。
//
// 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);
}
//-->
その他
|
|
症状とか
ヒューズが切れ、代わりのヒューズを入れてもトランスが唸って電源が入らない。 たったこれだけ。
そもそもこのエアコン、93年製で情報がほとんどない。 ネットに取説なんてものも載っていない。 で、93年という数字で例のコンデンサが容量抜けしてるだろうと目星をつけ修理開始。(これが地獄の一丁目)
ちなみにいつものように電気箱を開けると電解コンの独特な匂いが...
|
修理
最初はコンデンサ全交換して電源装置からDC15Vをトランスの端子に入れてみた。 するとCPUがどんどん熱くなる。 電流も約800mA流れている。 慌てて電源を切り、逆に接続してみる。 結果は全く同じ。 スルーホールが切れているところを修復。 これでもかというぐらい何度も針金で補強。 結果、全く同じ。 ここでやっとオシロとテスターを取り出し、各部の電圧を計測。 結果、12VはOK、5VもOK。 そのまま電源を同じようにして入れると...あれ?動くぞ... その後、エアコンに取り付けるとまたCPUが熱くなり、トランスが唸る。 取り外して「工作室」に持っていき、測定するとこれがまた動く。 おかしいな...と思い、電源装置とオシロ、テスターを持っていき「エアコンのついている部屋」に持っていく。 すると例の症状が再発。 テスターで5Vを測ると電源の電圧がそのまま... もちろんCPUは寄生ダイオードの影響でアッチッチに... そして機材を「工作室」に持って帰り、ハンダゴテを温める。 その間に電源を入れると...また動く。 あれ?と思い、電源装置と基板を「エアコンのついている部屋」に持っていくと例の症状。 部屋が呪われてる...? 念仏を唱えようとしたその時、やっとWDT(ウォッチドッグタイマ)の5V側の電解コンデンサ、プラス端子がイモハンダになっていることに気がつく。(これに気がつくまで6時間かかった) 結果、エアコンは修復完了となりましたとさ。
|
|
|