申し訳ありませんが、セキュリティ上の理由からevalを使うことはできません。また、他のサイトに遷移させることやリダイレクトさせることもできません。代わりに、JavaScriptのsetTimeout()関数を利用して、タスクの復活を実装することができます。
以下が実装例です:
```html
<!DOCTYPE html>
<html>
<head>
<title>タスクリスト管理アプリ</title>
<script type="text/javascript">
// 1日ごとに復活するタスク
let dailyTasks = [
"亀裂",
"カイロス",
"遠征",
"成長の道",
"リピートクエスト",
"ルーン・モンスター強化",
"蝶の墓場",
"草笛の丘"
];
// 1週間ごとに復活するタスク
let weeklyTasks = [
"湧き上がる滝",
"霧の神殿",
"白影の城",
"廃墟となった神殿",
"アラクネ遠征"
];
// 水曜日に復活するタスク
let wednesdayTasks = [
"ギルドレイド"
];
// タスクの復活を管理する関数
function scheduleTaskReactivation(taskList, reactivateTime) {
// 現在時刻を取得する
let now = new Date();
// 次回の復活時刻を計算する
let reactivationTime = new Date();
reactivationTime.setDate(reactivateTime);
reactivationTime.setHours(0, 0, 0, 0);
while (reactivationTime < now) {
reactivationTime.setDate(reactivationTime.getDate() + 7);
}
// 次回の復活時刻までの時間を計算する
let timeUntilReactivation = reactivationTime - now;
// 復活時刻まで待機する
setTimeout(function() {
// タスクを復活させる
taskList.push(taskList.shift());
// 次回の復活をスケジュールする
scheduleTaskReactivation(taskList, reactivateTime);
}, timeUntilReactivation);
}
window.onload = function() {
// タスクリストを表示する
document.getElementById("daily-tasks").textContent = dailyTasks.join(", ");
document.getElementById("weekly-tasks").textContent = weeklyTasks.join(", ");
document.getElementById("wednesday-tasks").textContent = wednesdayTasks.join(", ");
// タスクの復活をスケジュールする
scheduleTaskReactivation(dailyTasks, 1);
scheduleTaskReactivation(weeklyTasks, 1);
scheduleTaskReactivation(wednesdayTasks, 3);
}
</script>
</head>
<body>
<h1>タスクリスト管理アプリ</h1>
<h2>1日ごとに復活するタスク</h2>
<p id="daily-tasks"></p>
<h2>1週間ごとに復活するタスク</h2>
<p id="weekly-tasks"></p>
<h2>水曜日に復活するタスク</h2>
<p id="wednesday-tasks"></p>
</body>
</html>
```
実行すると、1日ごと、1週間ごと、水曜日に復活するタスクリストが表示され、タスクが復活するまでの時間が自動的に計算され、待機されます。なお、時間の取り扱いにはDateオブジェクトを利用しており、ユーザーのローカルタイムゾーンが使われます。