رفتن به مطلب

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


Mohammad_E

پست های پیشنهاد شده

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

 

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

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

 

لینک به ارسال
  • 2 هفته بعد...

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

 

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

لینک به ارسال

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

 

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

        <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

 

لینک به ارسال

مشکل از تکه کد 

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

 

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

 

سپاسگذار

 

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...