【问题标题】:how Can retrieve scroll Position in page that have an iframe in it如何在包含 iframe 的页面中检索滚动位置
【发布时间】:2012-10-30 16:43:00
【问题描述】:

我的代码在包含 iframe 的页面中不起作用(document.cookie) 更改!回发后! 代码是:

$(window).scroll(function() {
oldScroll = $(this).scrollTop();
if (oldScroll >15) {
document.cookie = pathname + oldScroll+'@'; }
}); 

$(window).load(function() {
load();
}); 

function load() {
var pathname = window.location.pathname;var newScroll;
var starPos = document.cookie.indexOf('aspx')+4;
var endPos = document.cookie.indexOf('@');
newScroll = document.cookie.search(";");
var oldPage=document.cookie.substring(0,pathname.length);
$(window).scrollTop(document.cookie.substring(starPos, endPos));
} 

【问题讨论】:

  • 听起来您在为多个页面使用同一个 cookie。考虑使用localStorage

标签: javascript asp.net scroll-position


【解决方案1】:

我找到了答案,我可以在页面回发中返回滚动

$(document).ready(function () {
var pathname = window.location.pathname;
$(window).ready(function () {
    $(this).scroll(function () {
        oldScroll = $(this).scrollTop();
        if (oldScroll > 100) {
            setCookie("scroll", pathname + oldScroll + "@", '2020');
        }
    });
});


$('#tabContainer').load(function () {
    load();
});
});


function load() {
var pathname = window.location.pathname;
var newScroll;
var starPos = document.cookie.indexOf("aspx") + 4;
var endPos = document.cookie.indexOf("@") ;

if (endPos != -1 && starPos != -1) {
    $(window).scrollTop(document.cookie.substring(starPos, endPos));
}
}

function setCookie(c_name, value, exdays) {
var exdate = new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
document.cookie = c_name + "=" + c_value;
}

【讨论】:

    猜你喜欢
    • 2013-08-03
    • 1970-01-01
    • 1970-01-01
    • 2013-06-30
    • 2013-05-15
    • 2022-01-11
    • 2020-09-05
    • 2012-09-26
    • 1970-01-01
    相关资源
    最近更新 更多