2016-08-17 1 views
2

window.location.href gibt null zurück. Gibt es eine andere Möglichkeit, die aktuelle Fenster-URL zu erhalten, die solider ist und immer funktioniert?Was können Sie tun, wenn window.location.href null zurückgibt

+0

Würde das nicht nur passieren, wenn Sie keinen Webbrowser verwenden oder Sie es so einstellen. Worauf willst du hinaus? 'location' alleine wird die URL leichter machen, aber das sollte auch funktionieren. – PHPglue

+2

Bitte beschreiben Sie, was Sie tun, dass es 'null' zurückgeben würde. Bauen Sie einen Web-Arbeiter oder etwas? – Ultimater

+0

Aus Neugier: Was passiert, wenn Sie 'window.location.href' löschen und dann seinen Wert erneut lesen? – Siguza

Antwort

0

könnten Sie

versuchen
var URLstring = window.location.origin + window.location.pathname 
0

Sie auch

var URL = window.location.protocol + "//" + window.location.host + "/" + window.location.pathname; 

oder verwenden Sie jQuery, um es verwenden können:

$(location).attr('href'); 

Hoffe, dass es für Sie arbeitet.

+0

Sie können auch Folgendes verwenden: 'var URL = window.location.protocol +" // "+ window.location.host +"/"+ window.location.Pfadname; ' – d3r1ck

+1

OP sagt nichts über jQuery, ich schlage vor, den Kommentar den tatsächlichen Beitrag machen – Derek

+0

Ok, lass mich das tun. – d3r1ck

1

Sie haben uns nicht genügend Informationen über die Umgebung zur Verfügung gestellt, in der Ihr Code läuft, damit wir gute Alternativen für Sie bereitstellen können. Sie haben angegeben, dass window.location.hrefnull zurückgibt. Sie könnten versuchen other propertieswindow.location (die eine location object zurückgibt). Andere Antworten haben eine Vielzahl von Kombinationen der Eigenschaften dieses Objekts geliefert, die vernünftig sein könnten. Wenn window.location.hrefnull zurückgibt, werden die anderen Eigenschaften von window.location wahrscheinlich auch keine gültigen Informationen liefern.

Eine Alternative, die Sie könnten versuchen, ist document.documentURI:

var theURL = document.documentURI; 

MDN makes this comment in Bezug auf document.documentURI:

HTML-Dokumente haben eine document.URL Eigenschaft, die den gleichen Wert zurückgibt. Im Gegensatz zu URL ist DocumentURI für alle Arten von Dokumenten verfügbar.

Wie Barmar hat in einem Kommentar erwähnt, und je nach Browser Sie verwenden, könnte das Problem sein, dass es nicht nur eine URI mit der zugehörigen <window> oder <document>. In diesem Fall kann es sein, dass keine Ihrer verfügbaren Optionen Ihnen einen gültigen URI zur Verfügung stellt. Wenn wir mehr über die Umgebung wissen, in der Ihr Code ausgeführt wird, können wir Ihnen möglicherweise gute Alternativen bieten oder tatsächlich beantworten, was zu tun ist (oder was es bedeutet), wenn Sie null oder ungültige Informationen für die verschiedenen Möglichkeiten erhalten Ermitteln des aktuellen URI.

Verwandte Themen