Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Url Photosweep返回到当前页面的初始哈希,而不是最后一个滚动位置_Url_Hash_Scroll_Photoswipe - Fatal编程技术网

Url Photosweep返回到当前页面的初始哈希,而不是最后一个滚动位置

Url Photosweep返回到当前页面的初始哈希,而不是最后一个滚动位置,url,hash,scroll,photoswipe,Url,Hash,Scroll,Photoswipe,在IOS上,当我关闭Photosweep返回页面时,它不会返回到我单击缩略图时的滚动位置 相反,页面会滚动回我最初调用页面时指定的# 例如,如果Photosweep位于www.somepage.html上,我使用以下命令导航到该页面: www.somepage.html#footer 然后向上滚动并单击页面中间的图钉,在关闭Photosweep时,页面向下滚动至页脚 我已尝试在photswipe选项中禁用历史记录,并尝试使用以下方法从url中清除哈希数据: //clear hash //$(d

在IOS上,当我关闭Photosweep返回页面时,它不会返回到我单击缩略图时的滚动位置

相反,页面会滚动回我最初调用页面时指定的#

例如,如果Photosweep位于www.somepage.html上,我使用以下命令导航到该页面:

www.somepage.html#footer
然后向上滚动并单击页面中间的图钉,在关闭Photosweep时,页面向下滚动至页脚

我已尝试在photswipe选项中禁用历史记录,并尝试使用以下方法从url中清除哈希数据:

//clear hash
//$(document).ready(function (e) {
//    window.location.hash = '';
//    window.history.pushState("", document.title, window.location.pathname);
//    
//});
但这一切似乎都不起作用。如果导航到页面时页面中没有#,则一切正常

我猜我可能必须在url中传递一个变量,而不是#,然后通过javascript滚动到相关的div

我已经有了滚动的javascript,但是我不确定如何从url读取变量,然后在javascript中使用它的值

如果这可能是解决该问题的最佳方法,那么有人能给出所需javascript代码的示例吗

以下是我当前的滚动代码:

$(function () {
        $('a[href*=#]:not([href=#],[data-toggle],[data-target],[data-slide])').click(function () {
            if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') || location.hostname == this.hostname) {
                var target = $(this.hash);
                target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
                if (target.length) {
                    $('html,body').animate({
                        scrollTop: target.offset().top
                    }, 1000);
                    return false;
                }
            }
        });
    });

如果其他人也有同样的问题,我已经设法通过将div id传递到查询字符串中的页面而不是使用#来解决这个问题

代码如下:

$(窗口).ready(函数(){
if(文档.位置.搜索.长度){
target=getUrlVars()[“id”];
滚动体(“#”+目标,750);
}否则{
返回;
}
//target=$url().param('id');
//如果(目标=“”)返回;
});
函数getUrlVars(){
var vars=[],散列;
var hashes=window.location.href.slice(window.location.href.indexOf('?')+1).split('&');
for(var i=0;i}
如果其他人也有同样的问题,我已经设法通过将div id传递到查询字符串中的页面而不是使用#来解决这个问题

代码如下:

$(窗口).ready(函数(){
if(文档.位置.搜索.长度){
target=getUrlVars()[“id”];
滚动体(“#”+目标,750);
}否则{
返回;
}
//target=$url().param('id');
//如果(目标=“”)返回;
});
函数getUrlVars(){
var vars=[],散列;
var hashes=window.location.href.slice(window.location.href.indexOf('?')+1).split('&');
for(var i=0;i}
hmm,如果有人可以共享解决方案,是否仍在为这个问题而挣扎?嗯,如果有人可以共享解决方案,是否仍在为这个问题而挣扎?