2009-05-11 8 views
2

nicht ‚Reload‘ scheint, ich war auf der Suche auf dieser Website http://bountii.com/search.php?item=routerwie eine Webseite zu machen, die

und ich habe in anderen Sites, welche Arbeit in ähnlicher Weise sah.

Die Seite hat viele Filter zur Verfügung gestellt zum Beispiel: Preisklasse, Popularität etc. Aber wenn diese Filter durchgeführt werden, sieht es aus wie nur ein Teil der Webseite geladen wird, anstatt die ganze Seite. Dies scheint nicht Ajax zu verwenden, da es die gesamte Anfrage zurück an den Server sendet (search.php Seite).

Es scheint nicht zu Technik auf dieser Seite http://nettuts.s3.amazonaws.com/196_jquery/index.htm erwähnt, wo sie nur das CSS bearbeiten, um einige Links nicht anzuzeigen.

Ich bin neugierig, wie das funktioniert. Irgendwelche Gedanken?

+0

Ich kann auf dieser Seite nichts sehen, das mich nicht einloggen muss. Entschuldigung –

+0

Ich bin mir nicht sicher, was Sie mit dem Bountii-Link zeigen wollen, alles was ich dort anklicke macht eine ganze Seite neu laden. –

Antwort

4

Es wird nur sehr schnell neu geladen. Es gibt kein Javascript auf der gesamten Seite. Das HTML ist gut geformt und die Seite ist sehr einfach.

+0

Nun, ich werde verdammt sein. Ich denke, dass der Header-Abschnitt immer noch nicht nachladen –

+6

Nun, Sie können denken, was auch immer Sie mögen, solange Sie nicht daran interessiert sind, richtig zu sein. Die ganze Seite wird neu geladen. : b –

+0

.... ok dann.und Sie haben großartige Inhalte auf Ihrer Website –

2

Wenn Sie sehen wollen, was los ist, dies zu tun:

  1. firefox installieren, wenn Sie nicht bereits mit
  2. Installieren der Firebug-Erweiterung
  3. Gehen Sie auf die Website, die Sie interessiert sind, in, und klicken Sie auf das kleine Firebug-Symbol (in der Statusleiste unten rechts, es ist ein kleiner Fehler), und aktivieren Sie alle Firebug-Optionen für diese Website
  4. Laden Sie die Webseite neu und klicken Sie auf
  5. Schauen Sie sich die differen t Firebug Panels. Es verfolgt alle Netzwerkanforderungen (XHR oder anders) und Sie können herumschnüffeln und schauen.
+0

es sendet keine XHR-Anfrage, so denke ich, es macht eine volle Seite laden –

0

Es könnte neue Daten über Ajax anfordert werden, ein verstecktes <div> Element bevölkern, und dann die sichtbare <div> mit dem verborgenen zu ersetzen.

+0

könnte sein ... aber es ist nicht :) –

0

es ist wahrscheinlich mit der Javascript XMLhttprequest. Facebook und viele andere Websites nutzen dies. Es macht eine Reise zum Server, ohne die ganze Seite neu zu laden.

Hier ist ein Beispiel von w3schools.com:

<script type="text/javascript"> 

var xmlhttp; 
function loadXMLDoc(url) 
{ 
xmlhttp=null; 
if (window.XMLHttpRequest) 
    {// code for all new browsers 
    xmlhttp=new XMLHttpRequest(); 
    } 
else if (window.ActiveXObject) 
    {// code for IE5 and IE6 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
if (xmlhttp!=null) 
    { 
    xmlhttp.onreadystatechange=state_Change; 
    xmlhttp.open("GET",url,true); 
    xmlhttp.send(null); 
    } 
else 
    { 
    alert("Your browser does not support XMLHTTP."); 
    } 
} 

function state_Change() 
{ 
if (xmlhttp.readyState==4) 
    {// 4 = "loaded" 
    if (xmlhttp.status==200) 
    {// 200 = OK 
    // ...our code here... 
    } 
    else 
    { 
    alert("Problem retrieving XML data"); 
    } 
    } 
} 
</script> 
+0

Wenn Sie nur auf die Quelle schauen, können Sie deutlich sehen ist nicht der Fall. Es hat keinen Sinn, hier zu raten. –

+0

Dies ist möglicherweise nicht der Fall für das Beispiel, das er gab, aber es ist eine Möglichkeit, die Seite neu laden zu lassen, indem die ganze Seite neu geladen wird –

0

Möglicherweise Browser-Optimierung und Cache eine Rolle zusätzlich spielt nur schnell geladen werden. Ich habe es so aussehen lassen, als hätte ich einige Male eine Seite geladen, indem ich die Seitenaktualisierungen mit einem Klick auf Links geändert habe.

Probieren Sie es einfach im IE und bei jedem Klick kann ich ein sichtbares Nachladen sehen. In Chrome sieht es nicht aus, als ob es eine Aktualisierung gibt, ich vermute wegen der Browser-Optimierung. Ich weiß in Chrome, wenn Sie zwischen zwei Tabs mit dem gleichen Inhalt wechseln, wird nichts neu gezeichnet.

Verwandte Themen