12
votes

Passer une URL comme un paramètre d'obtention dans JavaScript

J'essaie de créer un bookmarklet qui utilise l'URL actuelle de l'utilisateur, en quelque sorte comme le bookmarklet Tinyurl qui utilise ce code JavaScript xxx pré>

donc j'ai copié la même chose et a fait P >

http://www.google.ca/webhp?um=1


2 commentaires

Comment est-ce que vous êtes dépouillé & hl = fr & Safe = off mais pas um = 1 ?


@NULLUSEREXCEPTION: Je suppose que cela est dû à ce ? existe déjà dans l'URL et le navigateur / serveur pourraient traiter le second comme un caractère "normal".


5 Réponses :


0
votes
javascript:void(location.href='http://mywebsite.com/create.php?url='+encodeURIComponent(location.href))
You need to escape the characters.

0 commentaires

1
votes

Essayez xxx


0 commentaires

0
votes

Alors, que voulez-vous, juste l'URL sans la chaîne de requête?

$url = explode('?',$_GET['url']);
$url = $url[0];


0 commentaires

18
votes

URL a un format spécifié. Cette partie après ? ou pour être plus exactement entre ? et # si existe, s'appelle String de requête . Il contient une liste des paires de la valeur clé - un nom de variable, = caractère et la valeur. Les variables sont séparées par & : xxx

vous devez échapper emplacement.href comme il peut contient une certaine caractères tels que ? , & ou # .

Pour échapper à la chaîne dans JavaScript Utilisez Encodégonent () fonction comme suit: xxx < / Pré>

Il remplacera des caractères comme et dans % 26 . Cette séquence de caractères n'est pas traitée comme un séparateur variable, il sera donc attaché à la valeur d'une variable.


3 commentaires

Merci, semble assez facile. Quelle est la bonne façon de décoder cela dans PHP alors?


Vous n'êtes pas obligé. $ _ Obtenez ['URL'] contiendra la valeur appropriée, c'est-à-dire. http: //..../.....html? abc = def & ghi = 123 . Cependant, PHP vient tout comme JavaScript avec plusieurs fonctions d'URL s'échappant: UrlenCode () .


@Miked je sais que c'est un peu vieux, mais je pense que vous devriez accepter cette réponse :)



0
votes

Pour passer l'URL en $ _GET paramètre comme ceci: xxx

alors vous devez utiliser la fonction de codage: xxx

après cela, Vous devez décoder le paramètre avec: xxx

tel, vous pouvez transmettre le lien correct sous forme de paramètre.


0 commentaires