2017-05-10 26 views
5

当我尝试使用prompt()命令时,如何防止Chrome控制台发出以下错误?如何防止Google Chrome压制对话框?

该页面生成的window.prompt()对话框被取消,因为 此页面不是前窗口的活动选项卡。请确保 您的对话由用户交互触发,以避免此情况。 https://www.chromestatus.com/feature/5637107137642496

直到2-3天前提示()命令工作得很好,并会打开一个对话框,在那里我可以输入数据,现在它总是给我,即使我绝对主动标签此错误。我已检查Chrome内容设置并允许弹出窗口被选中。

谢谢!

+0

他们修好了一个错误,你用过,所以不确定是否有什么可以做的。 – epascarello

+1

我用过的Bug?我不明白。 – Gulli

回答

3

这里的错误行为是因为,当使用开发人员工具进行调试时,开发人员工具窗口实际上是活动窗口。解决方法是使用在实际调试的选项卡上呈现的播放或步骤按钮,如下所示。

enter image description here

+0

请您详细介绍一下吗?你如何触发“在调试器中暂停”状态?我在Sources面板中点击“Pause”并获得了上面的显示,但是当我尝试运行'window时,仍然收到了相同的错误信息。提示“在开发者控制台中。 – cxw

0

基本上prompt()还可以工作,但也不一定是主代码的一部分(预加载网页的onload脚本),否则,如果这是假设从开发工具简单地说赢得尝试不起作用 - 因为输出将显示在独立/独特选项卡上,而不是您正在编码的选项卡(控制台在开发工具中)。

我想这是为了防止几年前我们正在使用的入侵行为,您在tab-x(例如bbc新闻)上浏览的同时突然将注意力集中到tab y(例如pirate site)以获得更多clickbait,这都要归功于提示和警报。

为了确认或理解正是我想在这里说明一下,开控制台的/ dev工具的任何选项卡上,你想,糊:

setTimeout (function() { 
    prompt("Comprende ?") 
},5000); 

,按下回车后键,通过点击任何地方迅速切换焦点,不会将您重定向到您从打开devtools的选项卡上的新页面,并在几秒钟后立即启动。

在执行检查之前基本提示它即将执行的选项卡是来自gazillion打开选项卡的活动焦点选项。

0

您必须将开发人员窗口停靠在同一个窗口中。 不要离开到一个单独的窗口。 这帮了我。 编辑:屏幕截图 In Undocked mode 这不是附加活动窗口。 而当 It is docked to left || right || down the window 它正常工作

+0

你能提供关于如何做到这一点的截图吗? –