2011-10-18 16 views
5

Stackoverflow'ta bir etiketin üzerine geldiğinizde, bir araç ipucu aşağıda gösterildiği gibi görünür. Bu, HTML belgesinin sonuna HTML kodu ekledikçe jquery.append yoluyla gerçekleştirilebilir. Her vurgulu-olayın üzerine , bir süre gecikmeden sonra, bir AJAX isteği yapılır - muhtemelen jquery.load (...)Stackoverflow/Stackexchange - tag hover araç ipuçlarını nasıl alabilirim?

webapps.stackexchange.com gönderilen URL sorgu örneği _ içindir = 1318962590136 aracılığıyla, Bu dinamik bir kimlik.

  • 1) Bu, istemci ve sunucu tarafında nasıl çalışır ve yararları nelerdir?

toolip için yük HTML ve şöyle görünür:

<div><div class="tm-heading">...</div></div><span>.......</span> 

etiketi ayrıldıktan sonra dinamik olarak yüklenen HTML kaldırılır. CSS stilleri, stackoverflow sitesinin yüklenmiş css sayfasında zaten bulunmaktadır.

  • 2) Hayır başlangıçta ilan etkinliği etiketi yapar tarz <a> bağlantı elemanı, bağlı gibi görünüyor. Yalnızca yayındaki olaylar bildirilmiş gibi görünüyor (Chrome aracılığıyla kontrol edilir).

JavaScript DeObfuscator bazı ipuçları veriyor: Olay dinleyicileri dinamik eklenmiş ve o da kaldırılır ...

function (a, b, c) { 
    a.removeEventListener && a.removeEventListener(b, c, !1); 
} 

enter image description here

cevap

2

kullanıcı vurgulu tetikler yalnızca verileri güncelleyerek olayı, veritabanını sürekli olarak her x miktarında bir saniye sorgulamanız gerekmediği anlamına gelir. Bu yöntem, özellikle her saniye sunucuyu çağırmanın cazip olabileceği son derece güncel bilgiler istediğinizde, toplam kaynak israfıdır.

Fakat bunu yapmanın daha iyi bir yolu (sorunuzda anlattığınız yöntemden bile daha iyi), Comet adlı bir yöntemdir. Comet, basit terimlerle, istemcinin sunucuya bir istekte bulunmasını ve ardından sunucunun yanıt vermesini bekler (yani sunucudaki veriler güncellendiğinde). Bu, sunucunun yalnızca istemciye gönderilmek üzere güncellenmiş veriler olduğunda çağrılması anlamına gelir. Mesela Facebook (örneğin) inanıyorum.

İlgili konular