2009-05-20 17 views
0

Zur Zeit viele der auf unseren Seiten Links zu erhalten href="javascript:void(0);" auf Pageload geändert, aber wenn Sie ungeduldig sind (wie die meisten Benutzer sind) Sie über die Links vor dem Laden der Seite und landet auf dem clunkier, nicht-javascript klicken können, nicht Ajax-Seiten.progressive Erweiterung auf der Serverseite?

Ich bin über progressive Verbesserung in diesen Tagen viel zu denken, und ich sage voraus, die Mehrheit unserer Nutzer Javascript aktiviert haben (noch keine Daten, wir havn't noch ins Leben gerufen alpha)

Ist es eine schlechte Idee, einige der Indikator zu erzeugen, dass ein Benutzer sie Javascript für die Sitzung aktiviert ist, und dann Seiten dienen, die Javascript übernehmen? (dh haben Sie den Server setzen href="javascript:void(0);" von Anfang an)

Antwort

4

Warum dies nicht nur tun?

<a href="oldversion.htm" onclick="...something useful......; return false;">link</a> 

return false teilt den Browser nicht in der href auf die URL zu weitermachen.

Jetzt js Besucher erhalten Phantasie js und nicht-js Benutzer zurückgreifen still; und es ist nicht notwendig, Links beim Seitenladen zu ändern.

+0

Ich habe ganz vergessen darüber! guter Ruf Kumpel :) – Jiaaro

+0

Ich war mit der jquery dom-Ready-Funktion das Attribut href ändern! Ich habe mich erinnert;) haha – Jiaaro

0

Machst du deine progressive Verbesserung auf Last? Sie könnten versuchen, es in eine DOMReady-Version zu verschieben.

0

Könnten Sie diese auf das Dokument nicht delegieren, Ihre HTML sauber zu halten?

Zum Beispiel in jQuery:

$(document) 
    .click(function(){ return false }) 
    .ready(function(){ $(this).unbind("click") }) 
Verwandte Themen