Frage

Jetzt hier ist meine Situation: Ich mache ein CMS.Wenn Links geklickt werden, möchte ich die Seiten dynamisch mit AJAX laden.Das Problem in den Links!

Die einzige Möglichkeit, die Adresse in der Adressleiste zu ändern Echtzeit ist die Verwendung von Anker-Tags.PHP bekommt jedoch keine Anker-Tags, sodass ich den Seiteninhalt nicht auf der Site-Last mit PHP laden kann. Wenn ich die Seiten mithilfe einer Abfragezeichenfolge laden würde, konnte die Abfragezeichenfolge nicht in der Adressleiste beim Klicken eines Links aktualisiert werden, da dies die Seite neu laden würde.

Ich vermute, JavaScript könnte die Adresse überprüfen, das Anker-Tag in einem Cookie speichern und die Seite neu laden, aber ich muss lieber nicht zu solchen Längen gehen.

Kennt jemand eine Lösung für dieses Problem?

War es hilfreich?

Lösung

Es gab eine ähnliche Frage, vor der nicht lange her, und ich kam mit der folgenden Lösung.

Ihre URLs sollten auf echte Seiten hinweisen, um es für JS deaktivierte Benutzer zu erhalten.Die Click-Handler sollten AJAX-Anforderungen behandeln.Hash sollte die URL enthalten, und ein Teil wie &ajax, um den Typ der Anfrage anzuzeigen.

Wenn sich die Anforderung von Ajax befindet, senden Sie einfach den Inhalt.Wenn dies nicht der Fall ist, wickeln Sie den Inhalt nicht in Header und Fußzeile, um mit einem vollständigen Standort zu antworten.

URLs sollten mit der Verknüpfung zu AJAX generierten Hashes zusammenarbeiten und als Links verwendet werden.Die ganze Idee ist im Wesentlichen um das Verhalten, das Sie auf Facebook sehen können.

Javascript

generasacodicetagpre.

.htaccess

generasacodicetagpre.

prepend

generasacodicetagpre.

anhängen

generasacodicetagpre.

get_header ()

generasacodicetagpre.

get_footer ()

generasacodicetagpre.

Andere Tipps

I can see why you might want to load parts of the page with ajax. A whole page is rather pointless though.

A jQuery solution might be something like:

$(a.ajax_link).click(function(){
  var url = $(this).attr('href');
  $.ajax({
    url:url,
    success:function(data) {
      $('body').html(data);
      return false;
    }
  });
});

I have in no way tested that, but it should still work without javascript enabled.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top