2008-09-15 8 views
4

Ich versuche es so zu machen, wenn ein Benutzer eine Seite herunterscrollt, auf einen Link klickt, tut, was immer er tun muss, und dann auf die Seiten mit Links zurückkommen, sie sind gleich (xy) Standort im Browser, den sie vorher waren. Wie mache ich das?Wie verwende ich Javascript, um nach X-Y-Koordinaten in meinem Browser zu suchen?

Ich bin ein DOM Newbie, also weiß ich nicht zu viel darüber, wie man das macht.

Ziel Browser: IE6/7/8, Firefox 3.2, Opera, Safari

Hinzugefügt: Ich verwende ein Programm namens JQuery mir

Antwort

-1

lernen helfen Ihnen und offsetleft offsetTop können

0

Soweit ich mich erinnere, der Code zum Abrufen der Ansichtsfensterposition unterscheidet sich zwischen den Browsern, so wäre es einfacher, eine Art von Framework zu verwenden, zum Beispiel Prototype hat eine Funktion document.viewport.getScrollOffsets (was ich glaube , ist derjenige, nach dem Sie suchen).

Die Koordinaten sind jedoch nur ein Teil, die anderen würden später etwas mit ihnen machen. In diesem Fall können Sie dem Ereignis window.unload Ereignis-Listener hinzufügen, wenn dieser ausgelöst wird, den Speicherort in einem Cookie speichern und später, wenn der Benutzer die Seite erneut öffnet, prüfen, ob dieser Cookie vorhanden ist, und entsprechend blättern.

Wenn Sie nur daran interessiert sind, den Benutzer zurück zu dem Ort zu bringen, an dem er war, als er über den Zurück-Button des Browsers auf die Seite kommt, tun dies die meisten Browser nicht automatisch?

0

Normalerweise behält der Browser das Seiten-Ansichtsfenster bei, wenn Sie weg und dann zurück navigieren (versuchen Sie es mit irgendwelchen Seiten auf Ihrer bevorzugten Nachrichtenseite). Die einzige Ausnahme ist vermutlich, wenn Sie Ihre Cache-Einstellungen so anpassen, dass die Seite jedes Mal erneut heruntergeladen und erneut gerendert wird.

Wenn Sie das nicht tun (dh Ihre Seite nie auf Zwischenspeicher setzen), ist dies wahrscheinlich die einfachste, aufdringlichste Art, Ihr Problem zu lösen.

3

Um die x-y-Position von dem, wo ein Benutzer auf einer Seite geklickt hat, verwenden Sie den folgenden jQuery-Code:

<html> 
    <head> 
     <script type="text/javascript" src="jquery.js"></script> 
     <script type="text/javascript"> 
      jQuery(document).ready(function(){ 
       $("#special").click(function(e){ 
        $('#status2').html(e.pageX +', '+ e.pageY); 
       }); 
      }); 
     </script> 
    </head> 
    <body> 
     <h2 id="status2"> 
      0, 0 
     </h2> 
     <div style="width: 100px; height: 100px; background:#ccc;" id="special"> 
      Click me anywhere! 
     </div> 
    </body> 
</html>