46 votes

supprimer les paramètres d'url avec javascript ou jquery

J'essaie d'utiliser l'API de données youtube pour générer une liste de lecture vidéo.

Cependant, les URL des vidéos nécessitent un format de :

 youtube.com/watch?v=3sZOD3xKL0Y

mais ce que l'API génère est :

 youtube.com/watch?v=3sZOD3xKL0Y&feature=youtube_gdata

Donc, ce que je dois faire, c'est pouvoir tout sélectionner après et y compris l'esperluette (&) et le supprimer de l'url.

Un moyen de le faire avec javascript et une sorte d'expression régulière ?

77voto

goldylucks Points 1436

Qu'est-ce que je rate?

Pourquoi pas:

 url.split('?')[0] 

26voto

Hitesh Riziya Points 176

Hmm... À la recherche d'un meilleur moyen... le voici

 var onlyUrl = window.location.href.replace(window.location.search,'');

23voto

user113716 Points 143363

Exemple : http://jsfiddle.net/SjrqF/

 var url = 'youtube.com/watch?v=3sZOD3xKL0Y&feature=youtube_gdata';

url = url.slice( 0, url.indexOf('&') );

ou:

Exemple : http://jsfiddle.net/SjrqF/1/

 var url = 'youtube.com/watch?v=3sZOD3xKL0Y&feature=youtube_gdata';

url = url.split( '&' )[0];

5voto

chozha rajan Points 165
//user113716 code is working but i altered as below. it will work if your URL contain "?" mark or not
//replace URL in browser
if(window.location.href.indexOf("?") > -1) {
    var newUrl = refineUrl();
    window.history.pushState("object or string", "Title", "/"+newUrl );
}

function refineUrl()
{
    //get full url
    var url = window.location.href;
    //get url after/  
    var value = url = url.slice( 0, url.indexOf('?') );
    //get the part after before ?
    value  = value.replace('@System.Web.Configuration.WebConfigurationManager.AppSettings["BaseURL"]','');  
    return value;     
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X