我在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" />
&#13;
注意:
答案 0 :(得分:0)
从未在URL内使用#
,而不是对锚点的引用,但是对此我不是100%肯定的...
我认为在网址中添加#
并按Enter不会重新加载页面。网址中的#abc
确实告诉浏览器跳转到名为abc
的锚点,因此这将永远不会重新加载页面或触发某些JavaScript。如果您不想跳转/滚动到实际页面的某个锚定站点,请不要在网址中使用#
。那应该可以解决您的问题。
答案 1 :(得分:0)
URL中的#是片段标识符。期望网址示例后面有一些内容:www.yourpage.com/foo.html#bar。这样就可以在页面中寻找条形片段。该页面将不会重新加载。
答案 2 :(得分:0)
好吧,这可能是由于您没有创建另一个http request
,而是指示浏览器转到#abc的所述哈希值。
如果您的某类元素具有该ID,它将跳到页面的该部分。
示例:
<a href="#abc">click to jump down to my section</a>
<p id="abc">my section</p>
我假设当您在网址中键入#abc时,它将在寻找该内容。当然不存在。
除此之外,我不确定。
答案 3 :(得分:0)
可能与Alert, confirm, and prompt not working after using History API on Safari, iOS和https://forums.developer.apple.com/thread/65054
相关似乎alert()
变成了undefined
。建议的解决方法是改用自定义弹出窗口。