[英]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.prompt
和window.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,你的小提琴适合我。
如果您仍然遇到问题,也许您可以使用setTimeout
或setInterval
来持续检查这些提示是否已填写并执行警报(如果有)。
就像是:
<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.