2016-11-30 2 views
0

Ich versuche herauszufinden, wie Sie eine Abfragezeichenfolge mit einer Seite, die ich erstellt habe, verwenden. Derzeit verfügt meine Seite über ein Navigationsmenü, das den div-Inhalt dynamisch aktualisiert, wenn Sie auf einen Link klicken. Das Navigationsmenü besteht aus einer Reihe von Produktkategorien (Tomaten, Olivenöle usw.).Wie querystring in JavaScript zu verwenden

Mein Problem ist, dass, da dies nicht tatsächliche HTML-Seiten sind, wie kann ich einen Querystring einrichten, um in der Lage zu sein, zu einer bestimmten Kategorie von einer komplett anderen Seite zu verknüpfen.

Beispiel:

  • Landung: products.html
  • Klicken Sie auf 1: products.html Tomaten
  • Click 2: products.html oliveoil
+4

Ich denke, man das erreichen könnte mit 'window.location.href' + richtigem regex ([siehe hier] (http://stackoverflow.com/questions/901115/how-can-i-get-query-string- values-in-javascript)) – soywod

Antwort

2

Sie window.location.hash verwenden sollten, und stattdessen ein ? die Verwendung sollten Sie ein # verwenden, um die Abfragezeichenfolgeflag aus dem Dateinamen zu trennen. Wenn Sie also products.html#oliveoil haben, dann wird window.location.hash#oliveoil sein. Sie können auch den Hash mit window.location.hash = 'What-you-want' gesetzt.

+0

Muss ich die window.location.hash zum onclick event hinzufügen? Oder muss ich vor dem onclick jeder Kategorie einen eindeutigen Hash zuweisen und dann mit der vollständigen URL mit Hash von einer anderen Seite verlinken? Danke – Tom

+1

Von einer anderen Seite wirst du einen Link haben: 'products.html # oliveoil'. Und auf der products.html musst du 'window.location.hash' nach dem Laden der Seite bekommen und dann musst du sagen, welcher Inhalt angezeigt werden soll. Und wenn Sie auf einen Menü-Link klicken, sollte das Onclick-Ereignis den Hash ändern. Es wäre also gut, einen Verweis mit demselben Namen in einem Datenattribut in Ihrem Menü-Link zu haben. –

+1

Sie könnten Anker-Tags zusätzlich zu dem Onclick-Handler verwenden, um die Hash einzustellen. 'Olive Oil' – Steve

Verwandte Themen