javascript - titel - title tag länge




Wie bekomme ich die Abfragezeichenfolge per Javascript? (6)

Wie extrahiere ich die Abfragezeichenfolge aus der URL in Javascript?

Vielen Dank!


Es gibt eine neue API namens URLSearchParams in Browsern, mit der Sie die Werte der URLSearchParams extrahieren und ändern können.

Derzeit scheint es in Firefox 44+, Chrome 49+ und Opera 36+ unterstützt zu werden.

Initialisieren / Eingabe

Erstellen Sie zunächst ein neues URLSearchParams-Objekt. Für aktuelle Implementierungen müssen Sie das "?" am Anfang der Abfragezeichenfolge mit slice(1) in der Querystring, wie Jake Archibald vorschlägt :

var params = new URLSearchParams(window.location.search.slice(1)); // myParam=12

In späteren Implementierungen sollten Sie es ohne Slice verwenden können:

var params = new URLSearchParams(window.location.search); // myParam=12

Bekommen

Sie können über die Methode .get :

params.get('myParam'); // 12

einstellen

Params kann mit .set geändert werden:

params.set('myParam', 'newValue');

Ausgabe

Und wenn der aktuelle Querystring erneut benötigt wird, bietet die .toString Methode .toString :

params.toString(); // myParam=newValue

In dieser API gibt es eine Vielzahl anderer Methoden .

Polyfill

Da die Browser-Unterstützung immer noch recht dünn ist, gibt es einen kleinen Polyfill von Andrea Giammarchi (<3kB) .


Funktioniert bei mir-

function querySt(Key) {

    var url = window.location.href;

    KeysValues = url.split(/[\?&]+/); 

    for (i = 0; i < KeysValues.length; i++) {

            KeyValue= KeysValues[i].split("=");

            if (KeyValue[0] == Key) {

                return KeyValue[1];

        }

    }

}

function GetQString(Key) {     

    if (querySt(Key)) {

         var value = querySt(Key);

         return value;        

    }

 }

Ich habe diese Methode benutzt

function getString()
{
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
    hash = hashes[i].split('=');
    vars.push(hash[0]);
    vars[hash[0]] = hash[1];
}
return vars;
}
var buisnessArea = getString();

Sehr einfach!

function parseQueryString(){
    var assoc = {};
    var keyValues = location.search.slice(1).split('&');
    var decode = function(s){
        return decodeURIComponent(s.replace(/\+/g, ' '));
    };

    for (var i = 0; i < keyValues.length; ++i) {
        var key = keyValues[i].split('=');
        if (1 < key.length) {
            assoc[decode(key[0])] = decode(key[1]);
        }
    }

    return assoc;
}

Sie können ganz einfach eine Wörterbuchsammlung erstellen ...

function getQueryStrings() { 
  var assoc  = {};
  var decode = function (s) { return decodeURIComponent(s.replace(/\+/g, " ")); };
  var queryString = location.search.substring(1); 
  var keyValues = queryString.split('&'); 

  for(var i in keyValues) { 
    var key = keyValues[i].split('=');
    if (key.length > 1) {
      assoc[decode(key[0])] = decode(key[1]);
    }
  } 

  return assoc; 
} 

Und benutze es so ...

var qs = getQueryStrings();
var myParam = qs["myParam"]; 

Sie müssen die folgende Funktion einfach verwenden.

function GetQueryStringByParameter(name) {
        name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
        var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
        return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
    }

--- Wie benutzt man ---

var QueryString= GetQueryStringByParameter('QueryString');






query-string