繁体   English   中英

移动设备上window.prompt的阻塞行为不一致

[英]inconsistent blocking behaviour of window.prompt on mobile device

<script type="text/javascript">
    var x = prompt("enter x");
    var y = prompt("enter y");
    alert(x + " " + y);
</script>

这个非常简单的代码提示用户输入x ,然后输入y ,然后显示包含这两个值的警报。 在桌面浏览器上,这可以正常工作,因为window.promptwindow.alert是阻塞的。

当通过移动设备(本帖末尾的用户代理)查看时,第一个提示阻止但是当我点击“确定”时第二个提示没有阻塞,因此警报弹出以下消息(假设我在第一个时输入5提示):

5 null

为什么会这样? 可以解决吗?

实例: http//jsfiddle.net/YEA5w/

Mozilla / 5.0(Linux; U; Android 2.3.5; en-gr; HTC_WildfireS_A510e Build / GRJ90)AppleWebKit / 533.1(KHTML,类似Gecko)版本/ 4.0 Mobile Safari / 533.1

为了记录,我在股票和Firefox浏览器上的三星Galaxy S2,你的小提琴适合我。

如果您仍然遇到问题,也许您可​​以使用setTimeoutsetInterval来持续检查这些提示是否已填写并执行警报(如果有)。

就像是:

<script>
    var x = false;
    var y = false;
    var timer = setInterval(function(){
            if(x !== false && y !== false) {
                 alert(x + " " + y);
                 clearInterval(timer);
            }
    },100);
    x = prompt("enter x");
    y = prompt("enter y");
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM