Mohammad_E

ماندن در بخش فعلی سایت بعد از رفرش

4 پست در این موضوع قرار دارد

درود به همه دوستان

 

سایت من بعنوان مثال تا وسط صفحه اسکرول شده و من میخوام یه رفرش کنم، میخوام بعد از رفرش تو همون جایی که بوده ثابت بمونه، اما بعد از رفرش ابتدای صفحه رو نشون میده.

یا مثلا وقتی روی ادامه مطلب کلیک میکنم و در حالی که صفحه هنوز در حال بارگذاری هست اسکرول میکنم به بخش دیدگاه ها، بعد از اتمام بارگذاری بجای اینکه در همون بخش ثابت بمونه میره به ابتدای صفحه و مجبورم دوباره اسکرول کنم به بخش دیدگاه ها.

 

0

به اشتراک گذاری این پست


لینک به پست

اگه کسی میدونه چطوری مشکل رو برطرف کنم ممنون میشم راهنمایی کنه.

 

خیلی وقته موضوع ارسال شده و منتظر هستم!

0

به اشتراک گذاری این پست


لینک به پست

شما به چند روش با استفاده از جاوا اسکریپت و جی کوئری میتونین این کار رو انجام بدین

 

با استفاده از کوئری استرینگ

        <script type="text/javascript">
            function refreshPage () {
                var page_y = document.getElementsByTagName("body")[0].scrollTop;
                window.location.href = window.location.href.split('?')[0] + '?page_y=' + page_y;
            }
            window.onload = function () {
                setTimeout(refreshPage, 35000);
                if ( window.location.href.indexOf('page_y') != -1 ) {
                    var match = window.location.href.split('?')[1].split("&")[0].split("=");
                    document.getElementsByTagName("body")[0].scrollTop = match[1];
                }
            }
        </script>

 

با استفاده از کوکی

<script type="text/javascript">
<!--
cookieName="page_scroll"
expdays=365

// An adaptation of Dorcht's cookie functions.

function setCookie(name, value, expires, path, domain, secure){
    if (!expires){expires = new Date()}
    document.cookie = name + "=" + escape(value) + 
    ((expires == null) ? "" : "; expires=" + expires.toGMTString()) +
    ((path == null) ? "" : "; path=" + path) +
    ((domain == null) ? "" : "; domain=" + domain) +
    ((secure == null) ? "" : "; secure")
}

function getCookie(name) {
    var arg = name + "="
    var alen = arg.length
    var clen = document.cookie.length
    var i = 0
    while (i < clen) {
        var j = i + alen
        if (document.cookie.substring(i, j) == arg){
            return getCookieVal(j)
        }
        i = document.cookie.indexOf(" ", i) + 1
        if (i == 0) break
    }
    return null
}

function getCookieVal(offset){
    var endstr = document.cookie.indexOf (";", offset)
    if (endstr == -1)
    endstr = document.cookie.length
    return unescape(document.cookie.substring(offset, endstr))
}

function deleteCookie(name,path,domain){
    document.cookie = name + "=" +
    ((path == null) ? "" : "; path=" + path) +
    ((domain == null) ? "" : "; domain=" + domain) +
    "; expires=Thu, 01-Jan-00 00:00:01 GMT"
}

function saveScroll(){ // added function
    var expdate = new Date ()
    expdate.setTime (expdate.getTime() + (expdays*24*60*60*1000)); // expiry date

    var x = (document.pageXOffset?document.pageXOffset:document.body.scrollLeft)
    var y = (document.pageYOffset?document.pageYOffset:document.body.scrollTop)
    Data=x + "_" + y
    setCookie(cookieName,Data,expdate)
}

function loadScroll(){ // added function
    inf=getCookie(cookieName)
    if(!inf){return}
    var ar = inf.split("_")
    if(ar.length == 2){
        window.scrollTo(parseInt(ar[0]), parseInt(ar[1]))
    }
}

// add onload="loadScroll()" onunload="saveScroll()" to the opening BODY tag

// -->
</script>

با استفاده از تابع reload

document.location.reload(true);
مستندات
https://developer.mozilla.org/docs/Web/API/Location/reload

 

2

به اشتراک گذاری این پست


لینک به پست

مشکل از تکه کد 

<script type="application/x-javascript"> addEventListener("load", function() { setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>

 

بود که با حذفش برطرف شد.

 

سپاسگذار

 

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری