• 28-04-2007, 17:08:27
    #1
    websitem' de bir resim galerim var, bir resme tıklanınca o resim ile ilgili bir htm sayfası açıyor. ve birde back linkim var.

    <a href="javascript:history.back(1)">back to gallery</a>

    şeklinde.

    history.back kullanmamım sebebi galeri uzun bir galeri, history.back ile geriye dönüldüğünde en son hangi resme tıklanmışsa tam o noktaya dönüyor (scroll vb)

    ancak şöyle bir dezavantaj oluşmaya başladı. ziyaretçiler o resim ile ilgili sayfaya bazen galeriden gelmeyebiliyor. linklerden yada bookmark'larından gelebiliyorlar. bu durumda history.back ile geldikleri linke geri dönüyorlar.

    bununla ilgili şöyle bir scripte ihtiyacım var. ziyaretçi bu "back to gallery" linkine bastığında eğer gallery.htm' den geldiyse history.back(1) olsun eğer gallery.htm haricinde bir yerden geldiyse <a href="gallery.htm>back to gallery</a> olsun. bunun için sanırım iki komponente ihtiyacım var. biri bir önceki sayfanın (geldikleri sayfanın) gallery.htm olup olmadığı birde if - then döngüsü.

    bende araştırmaya devam ediyorum, ancak böyle bir script ile ilgili bilgisi olan varsa yada benzer bir uygulama gören varsa paylaşırsa sevinirim.
  • 28-04-2007, 20:34:35
    #2
    sonunda şöyle bir şey yazabildim.

    <html>
    <head>
    <script language="Javascript">
    function back() {
    if (document.referrer&&document.referrer!="http://3dfiction.com/gallery.htm") window.location="http://3dfiction.com/gallery.htm";
    else history.back(1)
    }
    </script>
    </head>

    <body>
    <a href="back to gallery" onclick="back();return false;">back to gallery</a>
    </body>
    </html>

    istediğimi yapıyor. dışardan biri gelirse htm'e atıyor gallery'den gelirse back yapıyor. ama hiç referer yoksa yani bookmark' dan gelmişse yada direk yazmışsa url' yi hiç bişi yapamıyor.

    şimdilik böle ufak bi sorun kaldı.
  • 28-04-2007, 20:42:03
    #3
    Üyeliği durduruldu
    document.referrer=null
    Yada
    document.referrer=""
    gibi birşey denediniz mi?
  • 28-04-2007, 22:28:07
    #4
    zaten tamamen tersten gitmişim.

    <script language="Javascript">
    function back() {
    if (document.referrer=="http://3dfiction.com/gallery.htm") history.back(1);
    else window.location="http://3dfiction.com/gallery.htm"
    }
    </script>

    bu şekilde sorunsuz oldu.

    ilgine teşekürler.