const div = document.querySelector("div");
document.querySelector("button")
.addEventListener("click", isTrusted);
function pMaker() {
return new Promise((res) => {
setTimeout(() => res(), 1000);
});
}
function opener() {
const w = window.open("https://ya.ru", "Yandex");
div.innerText = w ? "Можно верить" : "Ложь!";
}
function isTrusted(e) {
div.innerText = e.isTrusted ? "Trusted" : "Жулик!";
pMaker()
.then(() => opener())
.catch(err => console.error(err))
;
}
.bind()
, то результат function() {
[native code]
}
window.open()
сработает только, если вызван действием пользователя (даже если в цепочке будет разрыв через setTimeout()). Фиддл.let
и const
– почти то же, что и var
, но поинтересуйтесь разницей.условие ? если_правда : если_ложь
– почти то же, что if (условие) {
если_правда
} else {
если_ложь
}
Опять же, поинтересуйтесь различием )