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()). Фиддл.
ts
.