Parsování URL v JavaScriptu

V případě, že máme URL a potřebujeme z ní JavaScriptem získat jednotlivé části jako například:

  • protokol,
  • název domény,
  • cestu k souboru,
  • parametry za otazníkem (query string),
  • hash (obsah za #)

Je řešení buď používat regulární výrazy, nebo využít toho, že všechny tyto údaje umí JavaScript snadno vytáhnout ze značky <a>.

Vytvoříme-li proto odkaz a nastavíme-li mu požadovanou URL, potřebné údaje získáme velmi elegantně.

var adresa = "http://example.com/cesta/skritp.php?promena=1#kotva";
var odkaz = document.createElement("a");
odkaz.href = adresa;

protocol

Bude dostupný ve vlastnosti odkaz.protocol, zpravidla http: nebo https: (včetně dvojtečky).

hostname

Název domény bude v odkaz.hostname.

pathname

Cesta ke skriptu – odkaz.pathname.

Obsah za otazníkem – odkaz.search.

hash

Obsah za mřížkou včetně té mřížky – odkaz.hash.

port

Získat je možné i port (je-li uveden v URL) – odkaz.port. To ale bývá velmi zřídka.

Zjednodušená ukázka pro testování ve starých prohlížečích.

Parsování URL v PHP

V jazyku PHP k parsování adres slouží funkce parse_url.

To je všechno. Líbil se vám článek a chcete se dozvědět, až vyjde další?

Sledujte:

 

Připomínky mi pište do komentářů ↓

Jak vytvořit WYSIWYG editor

Vlastní jednoduchý WYSIWYG editor

Chceme-li na webu zadávat text a běžná <textarea> už nestačí, řešením je napsat si vlastní WYSIWYG editor.

Detekce zapnutého JavaScriptu

Zapnutý a vypnutý JavaScript

Jak na webové stránce detekovat zapnuté nebo vypnuté skriptování.

CSS vyhledávání a filtrování

CSS vyhledávání a filtrování obsahu

Jak pomocí CSS se špetkou JS filtrovat obsah stránky nebo na ní vyhledávat.

Upozornění před opuštěním stránky

Upozornění před zavřením stránky

Javascriptová událost onbeforeunload umožňuje pozastavit uzavření/obnovení stránky.

Plynulý přesun focusu

Plynulý přesun focusu

Plynulé přesouvání focusu mezi jednotlivými položkami formuláře.

Komentáře