2017-01-04 6 views
1

Ich versuche, ein Formular einzurichten, das den Hash von der URL erfasst und dann diesen Wert verwendet, um zu bestimmen, welche Funkeingänge überprüft werden sollen. Der letzte Teil funktioniert, aber ich kann den Hash-Abruf nicht zum Laufen bringen.Hash-Abruf von URL

var url = document.referrer; 
var dec= decodeURIComponent(url.replace(/\+/g, '%20')); 
var hash = url.substring(url.indexOf('?')+1); 
var hash = decodeURI(hash); 

In firefox Konsole, ich versuche 'console.log (hash)', und einfach eine Referenz Fehler erhalten, dass 'Hash ist nicht definiert'.

Das gesamte Skript ist hier bei Bedarf - http://pastebin.com/Yq9NbHyz

+1

Was genau meinen Sie mit "Hash"? Zuerst dachte ich, du meintest die Fragmentkennung ('# foo'), aber dein Code sucht nach'? '. – melpomene

+0

Ich benutze einfach '?' anstelle von '#' aus ästhetischen Gründen. – CGeoC

+0

... was? Was meinst du mit ästhetischen Gründen? Sie sind verschiedene Charaktere! – melpomene

Antwort

1

Da hash ist nicht globale Variable. Verwenden Sie window.location.hash oder location.hash

+0

Wenn Sie es in der if-Anweisung hinzufügen wollten, löste es den Referenzfehler, aber es sagt immer noch, dass 'hash' nicht definiert ist. Warum sollte das sein? – CGeoC