重新加载不在Ipad

时间:2016-07-13 08:30:44

标签: jquery ipad

以下是我的代码,我点击模态按钮重新加载页面。它在PC上工作,但不在Ipad上工作。

 $(".yes_continue").off('click').click(function () {

                $("#data_variation_step1").modal("hide");
                sessionStorage.setItem("continue", 'yes');
                window.location.reload(true);
                //alert('AUEEE')


            });

也试过这些

  • setTimeout(function(){document.location.href = $(location).attr('href')},500);
  • window.location.reload();

  • location.reload();

  • $(".yes_continue").bind("click touchstart",function () {
  • $(".yes_continue").on("click touchstart tap touch",function () {

  • $(document).on("click touchstart tap", ".yes_continue", function () {

可能是什么解决方案

  

注意:模态隐藏,这意味着点击有效,但不是重新加载   代码,它也没有警报..但PC上的警报

     

更新:问题出在sessionStorage.setItem("continue", 'yes');

     
      
  1. 如果我在Ipad chrome上使用隐私浏览。它不会重新加载。但是,如果我重新发送sessionStorage代码,那么重新加载工作。
  2.   
  3. 如果我使用非私人浏览,即使我有sessionStorage代码,重新加载仍然有效。但它没有在会话中设置任何值。所以我的   问题现在有点扭曲了。我不知道如何存储价值   对于Ipad,也尝试使用localStorage
  4.   

2 个答案:

答案 0 :(得分:0)

显然这是ios浏览器可以提出的问题

尝试添加此css:

cursor: pointer;

此处有更多详情:jQuery click events not working in iOS

答案 1 :(得分:0)

我已经在我的iPad上使用最新的iOS版本在Safari中尝试了您的代码,它运行得很好。

您也可以尝试使用window.location = window.location.href

重新加载它

btw我在我的localhost上使用ngrok运行了一个小型服务器,因此您可以在此处http://a42fc986.ngrok.io/进行尝试(将在短时间内使用)

对于测试,我使用了这个简单的代码:

<div>
    <span>window.location.reload(true)=></span>
    <button class="yes_continue_1st">Press me (button)</button>
    <span class="yes_continue_1st">Press me (span)</span>
</div>
<div>
    <span>window.location = window.location.href=></span>
    <button class="yes_continue_2nd">Press me</button>
    <span class="yes_continue_2nd">Press me (span)</span>
</div>

<script type="text/javascript">
    $(".yes_continue_1st").off('click').click(function () {
        alert("before location.reload");
        window.location.reload(true);
        alert("after location.reload");
    });

    $(".yes_continue_2nd").off('click').click(function () {
        alert("before location.href");
        window.location = window.location.href;
        alert("after location.href");
    });
</script>