window.setTimout中的动态代码评估代码注入

时间:2018-06-27 17:48:07

标签: javascript settimeout fortify

我执行了以下代码来处理浏览器中弹出窗口被阻止的情况。但是我们在setTimeout函数中面临着一个严峻的关键问题。有人可以帮我解决这个问题

Auth::user()
// or
auth()->user()

1 个答案:

答案 0 :(得分:0)

问题不在于设置的超时时间。

在执行window.open时,它正在被阻止程序阻止,但是如果您查看返回数据,则myWindow将是一个空对象。因此,这意味着您将点击if else的else部分。

将代码更改为:

var myWindow = window.open("", '_blank');
if (Object.keys(myWindow).length !== 0) {
    window.setTimeout(function () {
        myWindow.document.write(text);
        myWindow.focus();
        myWindow.document.title = name;
    }, 100);
} else {
    showWarning({message: 'popup is blocked')});           
}