2017-07-22 5 views
0

Je veux supprimer un paramètre de requête dans l'URL sur le bouton cliquez donc le lien sera modifié de www.example.com/?queryparam=hello à www.example.com/.Enlever la requête param de l'URL sur le bouton cliquez ne fonctionne pas

Lorsque je tente:

window.location.href.split('?')[0]; 

Dans la console, il renvoie le href moins la requête de param (correctement). Mais dans un test de navigateur réel, il n'exécute pas le code sur le bouton réel.

Voici mon code:

window.addEventListener('message', function(event) { 
    if (window.location.href.indexOf('?queryParam=') > -1) { 
    $('.button').click(function() { 
     window.location.href.split('?')[0]; 
    }); 
    } 
    return; 
}, false); 
+0

essayez-vous de rediriger la page à l'autre sans params de requête? – Jaya

Répondre

0

Fractionnement et d'accéder au tableau ne mute pas la chaîne d'origine. La raison pour laquelle vous l'avez vu dans la console en tant qu'URL de base est parce qu'elle évalue à www.example.com mais vous ne modifiez pas l'original window.location.href. Réattribuer:

window.location.href = window.location.href.split('?')[0]; 

Votre code:

window.location.href.split('?')[0]; 

est juste une expression. Il évalue à une valeur, il n'a essentiellement aucun effet. Réaffecter va changer l'emplacement comme prévu. Notez que window n'est pas nécessaire (sauf si vous avez une variable locale nommée location). Vous pouvez également raccourcir à:

location = location.href.split('?')[0]; 

Ou encore:

location.assign(location.href.split('?')[0]); 
+0

C'était exactement le problème, merci! –