Question

Je pense que la raison pour laquelle je ne peux pas faire cela est parce que cela pourrait être une énorme faille de sécurité, mais voilà...

Je souhaite avoir un signet sur mon navigateur (FF3, de préférence) qui n'est qu'un extrait de code javascript.Il construirait simplement une URL basée sur la date actuelle, puis ferait un window.location = sur cette URL.

Je sais que je pourrais créer une page et la conserver sur ma machine locale et y faire référence de cette façon, mais je me demandais simplement si vous pouviez contourner cette étape et que "l'emplacement" du signet soit simplement javascript.J'aurais juré que c'était possible il y a des années, mais je ne trouve rien qui me dise quoi que ce soit maintenant.

Était-ce utile?

La solution

Ce que tu veux, c'est un signet ils sont faciles à créer et devraient fonctionner dans la plupart des principaux navigateurs.

Modifier:Le débordement de pile ne semble pas permettre de créer des bookmarklets dans le contexte du site. En gros, vous pouvez créer un nouveau signet et taper ce qui suit dans le champ d'emplacement.

javascript:window.location='http://www.google.com/search?q='+Date()

pour obtenir un bookmarklet qui recherche sur Google la date actuelle.

Autres conseils

Il convient de noter que vous pouvez également mettre cela dans un wrapper de fonction.imranamajeed a bien illustré cela pour nous...mais apparemment, je suis trop nouveau sur le site pour publier son message.:P

donc pour plus de clarté :

javascript:(function(){
  location.href = location.href + "#";
})();

(les retours chariot n'ont pas affecté les performances dans Chrome et IE)

Un petit problème. C'EST À DIRE ne peut gérer qu'un 508 URL de caractères dans ce format.Si vous l'enregistrez dans IE avec une URL plus longue que celle-ci, il sera tronqué sans avertissement et échouera donc.

Si vous avez besoin d'un script vraiment complexe, vous devrez utiliser un bookmarklet "hébergé", dans lequel vous disposez d'un court signet qui injecte une balise de script dans la page, pour "appeler" votre bookmarklet hébergé.

Ce n'est pas aussi agréable/portable, mais c'est la seule solution de contournement.

Signet Google

javascript:(function(){var%20a=window,b=document,c=encodeURIComponent,d=a.open("http://www.google.com/bookmarks/mark?op=edit&output=popup&bkmk="+c(b.location)+"&title="+c(b.title),"bkmk_popup","left="+((a.screenX||a.screenLeft)+10)+",top="+((a.screenY||a.screenTop)+10)+",height=420px,width=550px,resizable=1,alwaysRaised=1");a.setTimeout(function(){d.focus()},300)})();

Eh bien, je viens de créer un signet dans FF3, je suis revenu en arrière, je l'ai mis à jour et j'ai ajouté le test suivant :

javascript:alert('Wacky%20test%20yo');

Faible et voilà, après avoir sauvegardé et chargé, j'ai pu recevoir mon alerte.

Je suis sûr que vous pouvez créer quelque chose de similaire pour vos besoins.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top