💜足跡取得 3.0.1(仮)
 
  現在、ここを構築中です。進捗率は50%位です。

{
document.getElementById('fooDisp').classList.add('boot');
let a = document.createElement("script");
a.id = "bootScript";
a.type = "text/javascript";
a.charset = "UTF-8";
a.src = "/home/new-diary/friends.css?fooEntry";
document.head.append(a);
}

 💗クイックエントリ(1)




/* -- [LOG-EXEC-DATA] -- */
sectUser = null;
volCnt = 0;
userCnt = 0;
xmlLoopSet = false;
xhrDataSet = false;
dataKey = (e, key) => evalDec(keys(e, key + "-DATA"));

/* ------ 右上のマスコットのエントリ ------ */
fooMasEntry = () => {
const bcc = doc.body.classList;
if(bcc.contains("logs")){
bcc.add("mDisp-out", "nDisp-out");
setTimeout(() => bcc.remove("logs"), 500);
} else {
bcc.add("logs");
setTimeout(() => bcc.remove("mDisp-out", "nDisp-out"), 500);
}
};

/* ------ 実際のエントリ ------ */
fooExec = () => {
Fcn("cp-load")[0].blur(); // 機能拡張Aのフォーカスを外しておく
const obj = doc.body.classList; // クラスの要
// クイックスタートの場合は一気にエリア外に移動
if(window.cpDat == "quick"){
obj.add("tw0", "com-out", "menu-out", "main-out",
"mas-out", "nDisp-out", "mDisp-out"
);
if(!fooIsEntry) fooExec_main(); // ボタンの二度押し対策
setTimeout(() => { // 少し間を置く
obj.add("main-hide"); // 移動が終わってからdisplay:noneに
}, 800);
} else { // 時間差エントリの場合は少しずつエリア外に移動
obj.add("tw0", "nDisp-out", "mDisp-out");
setTimeout(() => {
obj.add("com-out"); setTimeout(() => {
obj.add("menu-out"); setTimeout(() => {
obj.add("main-out"); setTimeout(() => {
obj.add("link-out"); setTimeout(() => {
obj.add("mas-out", "main-hide"); setTimeout(() => {
if(!fooIsEntry) fooExec_main();
}, 500); }, 600); }, 400); }, 400); }, 400);
}, 400);
}
};

/* -- fooExecのサブ。関数、CSS、初期設定を読み込み -- */
fooExec_main = () => {
fooIsEntry = true; // エントリー済みのフラグ

// 関数1,2、CSS、初期設定のある連番領域をロード
xhr("/cgi-bin/diary.cgi?oid=new-diary;n=5;c=253;s=217393 ", null, e => {
// 以下の5つの領域をbody要素に追加
for(let dt of ["naviDisp", "mainDisp", "dtDisp", "sxDisp", "actInfo"]){
let obj = Fce("div");
obj.id = dt;
doc.body.append(obj);
}

let obj = Fce("span"); // 右上のマスコットを定義
obj.id = "yos0"; // 領域のみで中身は白紙
doc.body.append(obj);
// イベントハンドラの関数は既に定義済み
obj.addEventListener("click", fooMasEntry, false);

obj = Fce("span"); // 右下の送信ボタンを定義
obj.id = "meUpBtn";
  echo(obj, "送信");
doc.body.append(obj);
// 関数未定義だとaddEventListenerが無理みたい
obj.onclick = () => memoSubmit();

obj = Fce("style"); // CSSを一番最初に組み込んでおく
obj.type = "text/css";
echo(obj, evalDec(keys(e, "LOG-CSS-DATA")));
doc.head.append(obj);
fooExec_createDocument(e); // 次の処理へ
});
};

/* -- fooExecのサブ。xhr関数内でインデントがあるから処理を分ける -- */
fooExec_createDocument = e => {
const bcc = doc.body.classList; // 生成する領域は非表示で
bcc.add("memo-off", "dt-off", "sx-off", "sx2-off", "memo-load");

const sc = no => { // ナビ領域の生成、関数はローカルで
let a = dataKey(e, "CELL" + no).replace(/\r?\n/g, "").replace(/^\s+|\s+$/, "");
a = a.replace(/\s+\,/g, ",").replace(/\,\s+/g, ",").split(",");
let d = `<div id="${a[0]}"`; // ナビコマンドの設置
d += a[1] != "" ? ` class="${a[i]}">` : `>`;
let cnt = 0;
for(let i = 2; i < a.length; i += 4){
d += `<span onclick="naviCmd('${a[i + 1]}', this)"`;
if(a[i + 2] != "") d += ` class="${ no == 2 ? "nav-" : ""}${a[i + 2]}"`;
if(a[i + 3] != "") d += ` id="${a[i + 3]}"`;
d += `>${a[i]}<i>${cnt}</i></span>`;
cnt++;
}
return d + `</div>\n`;
};

// ロゴとインフォメーションの生成とナビ(1-3)の生成
echo("naviDisp", `
<div id="naviInfo">
<div><a href="/home/new-diary/diary/2020/06/1591011443.html">足跡取得 3.0.1</a> | <a target="_blank" href="/home/new-diary/diary/2019/10/1570803812.html">UPS</a></div>
<div id="parInfo"></div>
</div>
${ sc(0) + sc(1) + sc(2) }`
);

echo("mainDisp", dataKey(e, "MAINDISP")); // メイン領域の生成
echo("sxDisp", dataKey(e, "SXDISP")); // データ更新領域を生成

let n = "";
for(let i = 0; i < 13; i++)
n += `<span class="sx" onclick="upCom(${i}, this)">${i}</span>`;
echo("upCmdDisp", n); // 更新ボタンの取り付け
echo("dtDisp", dataKey(e, "DTDISP")); // 汎用領域の生成

if(window.cpDat != "quick"){ // 起動時の効果で遅い方
setTimeout(() => {
bcc.remove("nDisp-out"); setTimeout(() => {
bcc.remove("mDisp-out");
bcc.add("logs");
fooExec_appendExec(e);
}, 400);
}, 500);
} else { // クイックスタートの方で大した違いはない
setTimeout(() => {
bcc.remove("nDisp-out", "mDisp-out");
bcc.add("logs");
fooExec_appendExec(e);
}, 500);
}
};

/* -- fooExecのサブ。追加関数の実装で更新関係はアイドルで行う -- */
fooExec_appendExec = e => { // 最初のxhrから引き継いできた値
Fid("header").remove(); // 元々の日記のヘッダーは使わない
Fid("menu").remove(); // 元々の日記のメニューも要らない
Fid("main").remove(); // 元々の日記のメインも必要ない
try {
eval(dataKey(e, "FOO-EXEC")); // 追加関数の定義
fooExec_dataLoad(e); // 次の実行関数は追加関数(1)にある
}
catch (err) { // エントリしたら早急に復旧させること
alert("追加関数(1,2)の何処かが変です\n\n" + err);
}
};

{
fooIsEntry = false; // 起動時のフラグ
fooExec(); // 最初の実行ルーチン
}
/* -- [/LOG-EXEC-DATA] -- */