ユーザーに予告してから優しくジャンプするUserScript
ユーザーに予告してから優しくジャンプするUserScript
code:informedJump.js
export function informedJump(url){
const textNode = new Text("");
document.querySelector(".left-box").append(textNode);
function showMessage(text){
textNode.data = text;
}
let count = 3;
let message = "jumping to new page... ";
function countDown(c){
message += c + ", ";
showMessage(message);
return Promise.reject();
}
function sleep(){
return new Promise((res, rej) => setTimeout(res, 1000));
}
let promise = Promise.resolve();
for (;count > 0; count--){
const now = count;
promise = promise.then(() => countDown(now)).catch(sleep)
}
promise.then(() => {
location.href = url;
});
}