【发布时间】:2018-06-28 11:45:46
【问题描述】:
我在 iPhone Safari 中运行一个网页。该页面有一个按钮。单击它时,将显示一个警告消息框。还行吧。然后,我更改或添加#hash URL 通过在地址栏中输入,然后,警报消息框停止工作。我点击按钮,没有任何反应。没有 javascript 错误,但没有警告消息框。
这是 iOS Safari 已知问题吗?
请分享您的想法和您提出的解决方案。非常感谢!
$(".button").click(function () {
alert('Hello');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<input class="button" type="button" value="alert" />
注意:
- 这不是因为我的代码。我也测试过 Here
- 我已在最新的 iOS 版本中进行了测试。
- Javascript 本身正在运行
- 不是 JQuery 问题,纯 JS 代码也不起作用
- 警告框在 iPhone Chrome 或其他浏览器中工作
【问题讨论】:
-
你能添加你的按钮html和js代码来触发警报吗?
-
@deceze 请在不重新加载的情况下连续尝试 2 次。第一次尝试是可以的。第二次尝试(更改#部分),并且不会成功。
-
我可以在 iPad 上复制此问题,如此处所述。单独的
#有效,#hash有效,但斜线#/hash无效。 -
#是一个片段分隔符。在 safari Mobile 中,如果您使用#url 附加任何内容并单击 go 页面实际上并没有重新加载;相反,safari 正试图在网页中找到该片段,我相信这是导致警报不起作用的原因。但是,如果您手动重新加载页面,即使使用#,警报也可以正常工作。 -
@PyaePyoAung ,不重新加载页面是正常的,但阻止警报等功能应被视为错误,除非 Safari 开发团队在某处指定。
标签: javascript iphone browser safari alert