Url Photosweep返回到当前页面的初始哈希,而不是最后一个滚动位置
在IOS上,当我关闭Photosweep返回页面时,它不会返回到我单击缩略图时的滚动位置 相反,页面会滚动回我最初调用页面时指定的# 例如,如果Photosweep位于www.somepage.html上,我使用以下命令导航到该页面: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
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,如果有人可以共享解决方案,是否仍在为这个问题而挣扎?嗯,如果有人可以共享解决方案,是否仍在为这个问题而挣扎?