iphone7 js history.replaceState

时间:2017-02-27 16:36:14

标签: javascript iphone replace

我创建了一个产品列表页面并使用这个JS来保持url反映用户正在查看的项目(因此后退按钮应该返回到页面上的那一点)

setInterval(function() {
    itm = jQuery('.my_item:visible:last').attr('id');
    jQuery('.my_item').each(function(){if((jQuery(this).offset().top + jQuery(this).height()) > jQuery(window).scrollTop()){
         itm = jQuery(this).attr('id'); 
        return false;
    }});
    history.replaceState({} ,window.location.href.split('itm=')[0] , window.location.href.split('itm=')[0] + '&itm='+ itm);
},200);

这在我的桌面镀铬浏览器以及Android和Iphone 6及以下工作100%但由于某些原因在iphone7上这不起作用似乎URL并不总是更新,任何想法为什么它不起作用?< / p>

1 个答案:

答案 0 :(得分:1)

据我所知,由于安全原因,iPhone中禁止使用history.replaceState。但是更改window.location.hash不是,所以你可以使用hash而不是query参数来创建相同的功能。