web-dev-qa-db-fra.com

Appelez la fonction Javascript depuis la barre d'adresse / URL

Est-il possible d'appeler une fonction javascript à partir de l'URL? J'essaie fondamentalement de tirer parti des méthodes JS dans une page où je n'ai pas accès à la source.

Quelque chose comme: http://www.example.com/mypage.aspx?javascript:printHelloWorld()

Je sais que si vous mettez javascript:alert("Hello World"); dans la barre d'adresse, cela fonctionnera.

Je suppose que la réponse à cette question est non, mais je me demandais simplement s'il y avait un moyen de le faire.

100
DazManCat

Il n'y a pas de lien hypertexte, non. Non, sauf si la page contient un script spécifiquement pour cela et qu'il vérifie certains paramètres .... mais pour votre question, non, il n'y a pas de support intégré dans les navigateurs pour cela.

Il existe cependant bookmarklets vous pouvez créer un signet pour exécuter rapidement les fonctions JavaScript à partir de votre barre d’adresses; Je ne sais pas si cela répond à vos besoins, mais c'est aussi proche que possible.

55
Nick Craver

Ecrire dans la barre d'adresse

javascript:alert("hi");

Assurez-vous d'écrire au début: javascript:

21
hfarazm

Vous pouvez utiliser des URI de données. Par exemple: data:text/html,<script>alert('hi');</script>

Pour plus d'informations, visitez: https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs

14
yassine45

/test.html#alert('heello ')

test.html
<button onClick="eval(document.location.hash.substring(1))">do it</button>
6
Budia

vous pouvez également placer le suivant

<a href='javascript:alert("hello world!");'>Click me</a>

en votre code html, et lorsque vous cliquez sur le lien hypertexte "Cliquez-moi", javascript apparaît dans la barre d'URL et la boîte de dialogue Alerte affiche

5
heximal

vous pouvez utiliser comme ceci: par exemple, vous avez une page: http://www.example.com/page.php puis dans ce page.php, insérez ce code:

if (!empty($_GET['doaction']) && $_GET['doaction'] == blabla ){
echo '<script>alert("hello");</script>';
}

puis, chaque fois que vous visitez cette URL: http://www.example.com/page.php?doaction=blabla

alors l'alerte sera automatiquement appelée.

2
T.Todua

Utiliser la réponse d'Eddy a très bien fonctionné car j'avais le même problème. Appelez simplement votre URL avec les paramètres: "www.mypage.html # myAnchor"

Ensuite, dans mypage.html:

$(document).ready(function(){
  var hash = window.location.hash;
  if(hash.length > 0){
    // your action with the hash
  }
});
2
EllemKah