PHP / JS: Dinamik kırıntıları uygulamak nasıl?

3 Cevap php

Sanırım "dinamik" kırıntı nesil gerek bir site üzerinde çalışıyorum.

Bu uygulama içinde sayfaları diğer özel çocukları değil, bu yüzden kullanıcı bunlardan birini gezerken, ben sadece geri adımları takip edemezsin.

I could have the following breadcrumbs-like lists: (updated)
* inbox > message > user profile
* search results > user profile
* search results > user profile > new message

(Bilginize; bütün yığını sıfırlanır birkaç özel ebeveyn sayfa olacak Ayrıca özyinelemeye engelleyen bir kontrol edilecektir.).

Yani ... Bunu gerçekleştirmek için, ben kullanıcısıyım ve ne sırayla nerede hatırlamak zorunda. Ben yapmak için en zarif ve güvenilir yoludur saymak, oturumda kullanıcının geçmişi hatırlar bir mekanizma yazmaya.

Ama bunu yaparsak bir kullanıcı yeni bir tarayıcı penceresi veya sekmesi açıldığında, her şey kıracak.

Bunu gidermek için ben sorgu dizesi bu verileri saklamak olabilir. Farklı tarayıcılarda / vekiller bu şekilde transfer edilebilir veri farklı sınırlara rağmen. Yani, bir gün, bu belki de kıracak.

Does anyone have an idea on how to implement this?

Ya da;

Does anyone know how to reliably identify different browsers windows?

(O benim tek uygulanabilir seçenek olmadığı sürece ben oldukça, bunun için javascript dayanmaz ediyorum. Ben önyüz için dojo araç kullanmak)

thanks in advance!

3 Cevap

window.name yeni bir belge yük hayatta. Yani window.name için bir tarih dize yazabilir ve sonra sonraki sayfaya geri okumak, ya da pencere özgü kurabiyeler / oturumları saklamak için bir anahtar olarak oluşturulan bir ad kullanabilirsiniz.

Ama bu iyi bir fikir olduğunu sanmıyorum. "Breadcrumbs" geleneksel hiyerarşik bir navigasyon cihazı değil, bir geçmiş listesi vardır. Tarayıcı zaten sayfada çoğaltmak kullanışlı değildir ileri / geri düğmeleri gayet iyi bir geçmişi listesini sağlar; , özellikle normalde hiyerarşik bir yer işareti bir biçimde, bir on-sayfa geçmişi listesini sunan herhangi bir yardım olmaktan kullanıcıların kafasını karıştırmak için daha olasıdır.

HTML5 uyumlu tarayıcılarda ben yerel depolama bu tasarruf sağlayacaktır.

Bu gibi açık bir yeni sekme algılayabilir:

  • sayfa yük javascript ile bir cookie
  • çerezi silmek için onbeforeunload olayını kullanmak

When the visitor will open your site, it will set a cookie eg session=1, if they click on a new link on your site, when they leave the site the cookie will be eg session=0 but as soon as they arrive again on your site it will be session=1. When the visitor will open a new tab, it will encounter a session=1 so probably will do that session=2. You got the point?