You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firefox iOS中JavaScript Prompt未暂停脚本的异常行为咨询

Firefox iOS(iPad端)中JavaScript prompt的非预期行为属于错误实现

按照ECMAScript及浏览器标准规范,window.prompt()是模态对话框API,触发后会弹出模态窗口,立即暂停当前脚本执行,直到用户完成交互:

  • 点击「确定」:返回用户输入的内容(若未输入则返回空字符串)
  • 点击「取消」:返回null
    只有在用户完成操作后,脚本才会继续执行后续代码。

你在iPad端Firefox iOS中遇到的现象完全不符合上述标准:

  • 未点击「确定」时,fill元素就被填充了prompt的默认值「Placeholder」
  • 修改输入内容并点击「确定」后,无法更新fill元素的内容

这属于浏览器的错误实现,因为prompt的核心设计就是阻塞脚本等待用户交互,而该浏览器提前返回了默认值,且未在用户确认后更新返回结果,完全违背了API的定义。

测试代码如下:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>Test</title>
  </head>
<script type="text/javascript">
function testClick(){
    var data = window.prompt("Enter Some Text:", "Placeholder");
    document.getElementById("fill").innerHTML = data;
}
</script>
  <body>
    <main>
    <button onclick="testClick()">Click Me</button>
    <div id="fill"></div>
    </main>
  </body>
</html>

内容的提问来源于stack exchange,提问作者falc2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 21:27:36