Zoque.Forum
»
Cookie ScrollTop
|
| Arsiv Bölümü Webtasarımı ve internet bölümünde önemli olduğunu düşündüğümüz mesajların toplandığı bölüm. Foruma yeni bir soru sunmadan bu bölümdeki mesajlara göz atılması tavsiye olunur. (Arama motorundan daha eski mesajlara ulaşılabilir). |
![]() |
|
|
LinkBack | Seçenekler |
|
|
#1 (permalink) |
|
Üyelik Tarihi: 23.06.2000
Yer: Antalya/Turkey
Yaş: 27
Mesaj: 130
|
Yardım: Sayfada kaydırılan yeri hatırlamak.
Uzun sayfalarda scrollu aşağıya kaydırdığımızda (onscoll) ettiğimizde yukarıdan ne kadar kaydırıldığını (body.clienttop mu oluyor) cokkie ile bilgisayara kaydetmek. Daha sonra sayfa yenilendiğinde ASP sayfasından okuttuğum bu cookieyi JavaScript kodlarına ekleyip, önce kaydırdığı yere aynen getirmesini istiyorum. ASP'de ustayım fakat JavaScript'te daha çömez olduğum için nasıl bir yol izlemem gerektiğini bilmiyorum. Bu yolu gösterirseniz sevinirim
Şimdiden teşekkürler..
__________________
Gerçek Ustalık Çaba Gerektirmez |
|
|
|
|
|
#2 (permalink) |
|
Üyelik Tarihi: 02.11.2001
Yer: Viyana, İstanbul
Yaş: 30
Mesaj: 1,019
|
Re: Yardım: Sayfada kaydırılan yeri hatırlamak.
script kismini bilmiyorum, ama mantik olarak Hidden bir Layer yapabilir ve bunu Reklam vb.de oldugu gibi sürekli görünür alanda kalmasini saglalarsin. Ve son bulundugu koordinati cerez e kayit edebilirsin.. (sanirim)
__________________
Z:web 2.0 As Flowers E-kart Düşünüyorum Öyleyse e-Varim Emre Murat Tatar Duyarlı Gençlik TR |
|
|
|
|
|
#3 (permalink) |
|
Üyelik Tarihi: 13.07.2000
Yer: LND
Mesaj: 4,275
|
Re: Yardım: Sayfada kaydırılan yeri hatırlamak.
forumda js ile cookie fonksiyonları yazmıştım.
Aratarak bulabilirsin, bu fonksiyonlar aracılığı ile onscroollada aktif konumu kaydet, onload da eski cookieyi yükle. yetecektir;
__________________
FERRUH.MAVİTUNA - İnanmıyorum, yeni site! |
|
|
|
|
|
#4 (permalink) |
|
Üyelik Tarihi: 23.06.2000
Yer: Antalya/Turkey
Yaş: 27
Mesaj: 130
|
Re: Yardım: Sayfada kaydırılan yeri hatırlamak.
evet bu fonksiyonları biliryorum fakat sayfanın aktif durumunun değerini nasıl alacağımı ve daha sonra okuttuğum cokiedeki değeri nasıl yerine koyup eski duruma getireceğimi bilmiyorum. Body.scrolltop = "value" gibi bir değer mi?
__________________
Gerçek Ustalık Çaba Gerektirmez |
|
|
|
|
|
#5 (permalink) |
|
Re: Yardım: Sayfada kaydırılan yeri hatırlamak.
Ben şahsen daha basit bir tekniği kullanırdım. Çünkü kullanıcı da Cookie kapalı olabilir.
Çözünürlük değiştirilmiş olabilir, dünya kadar şey değişebilir ve bunun yerine şunu kullanmak daha basit olabilir. ![]() Sayfa içinde belli paragraflara anchor (çapa) verirsin. <a href="#paragraf1"> dfgdfgdfgdfgdfgdfg yazılar <a href="#paragraf2"> sdfsdfsdfsdfsdfsdfs yazılar <a href="#paragraf3"> sfsdfsdfsdfsdfsdf gibi sayfa içi linkler ve sayfanın adı sayfam.htm ise sayfam.htm#paragraf1 diyerek sayfa tekrar çağrılınca tam o pragraftan okutursun. Bilmem anlatabildim mi ? Daha iyi bir örnek için : http://www.irmak.k12.tr/index.asp?hs...kinyarisma.asp de bunun basit bir örneği var Kolay gelsin
__________________
Portfolyo | Güneşin Tam İçinde | DeviantArt Mihrace.Net ! | 3d Gözlük | Ebu'l-iz | Kimin Eli? | Reklam-im |
|
|
|
|
|
|
#6 (permalink) |
|
Üyelik Tarihi: 23.06.2000
Yer: Antalya/Turkey
Yaş: 27
Mesaj: 130
|
Re: Yardım: Sayfada kaydırılan yeri hatırlamak.
Teşekkürler sonmez. Bu yolu biliyordum fakat bu yol tam olarak scrollun yerini vermiyordu. Neyse yanıtı uzun aramalardan sonra buldum. Scroollün yerini bulmak için "document.body.scrollTop" yapıyoruz. Bunu fonksiyonda çerez olarak ve "body onscroll" ile çağırarak kaydediyoruz. Daha sonra ASP, PHP vb. ile çerezi okutup "body onload="JavaScript: document.body.scrollTop =<%=deger%>;"" ile de yerine koyuyoruz. Öğrendiğim link ise: http://www.tek-tips.com/gfaqs.cfm/le...d/333/fid/1037
Herkese kolay gelsin, İyi çalışmalar...
__________________
Gerçek Ustalık Çaba Gerektirmez |
|
|
|
|
|
#7 (permalink) |
|
Üyelik Tarihi: 22.06.2001
Yer: Antalya
Yaş: 38
Mesaj: 531
|
Re: Yardım: Sayfada kaydırılan yeri hatırlamak.
yukarıda @soul un belirttiği konudaki kodları
bir parça değiştirerek ASP ye gerek kalmadan sadece JavaScript le hallolabilirdi. Örnek : Kod:
<script language="JavaScript" type="text/JavaScript"> // Cookie functions inspired form kaosweaver but these functions really better // by Ferruh Mavituna function readCookie(name){ // by .fm /* ek1 */ var name="gitY"; /* ek2 */ var c=document.cookie ; if (c.indexOf(name)!=-1) { pos1=c.indexOf("=", c.indexOf(name))+1; pos2=c.indexOf(";",pos1); // If last cookie if(pos2==-1) pos2=c.length;; data=c.substring(pos1,pos2); /* ek2 */ window.scrollBy(0,data) /* ek2 */ return data; } } function writeCookie(name, value, days) { /* ek3 */ var name="gitY"; if(document.all){var value=document.body.scrollTop;} else {var value=window.scrollY;} var days=365; /* ek3 */ //Fix Days if(days==null || days=="")days=365; // Set Date var d=new Date(); d.setTime(d.getTime()+(days*24*60*60*1000)); var expires="; expires="+d.toGMTString(); // Write Cookie document.cookie = name+"="+value+expires+"; path=/"; } /* ek4 */ window.onunload=writeCookie; window.onload=readCookie; /* ek4 */ </script> |
|
|
|
|
|
#8 (permalink) |
|
Üyelik Tarihi: 23.06.2000
Yer: Antalya/Turkey
Yaş: 27
Mesaj: 130
|
Re: Yardım: Sayfada kaydırılan yeri hatırlamak.
Peki o zaman bütün kodu tamamlayalım da konuyu arşive taşıyalım
Kod:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>Scroll Pozisyon</TITLE> <script LANGUAGE="JavaScript"> <!-- // Cookie functions inspired form kaosweaver but these functions really better // by Ferruh Mavituna function writeCookie(name, value, days) { //Fix Days if(days==null || days=="")days=365; // Set Date var d=new Date(); d.setTime(d.getTime()+(days*24*60*60*1000)); var expires="; expires="+d.toGMTString(); // Write Cookie document.cookie = name+"="+value+expires+"; path=/"; } function readCookie(name){ // by .fm var c=document.cookie ; if (c.indexOf(name)!=-1) { pos1=c.indexOf("=", c.indexOf(name))+1; pos2=c.indexOf(";",pos1); // If last cookie if(pos2==-1) pos2=c.length;; data=c.substring(pos1,pos2); return data; } } function savePosition(){ var posvalue = document.body.scrollTop; expires = new Date(); writeCookie("pozisyon", posvalue, 1); } function getPosition(){ var posvalue = readCookie("pozisyon"); document.body.scrollTop = posvalue; } //--> </script> </HEAD> <BODY OnUnload="savePosition();" onLoad="getPosition();"> <p>1 <p>2 <p>3 <p>4 <p>5 <p>6 <p>7 <p>8 <p>9 <p>10 <p>11 <p>12 <p>13 <p>14 <p>15 <p>16 <p>17 <p>18 <p>19 <p>20 </BODY> </HTML>
__________________
Gerçek Ustalık Çaba Gerektirmez |
|
|
|
Zoque'a hoşgeldiniz!