Flic.kr Short URI Bookmarklet
Sur Twitter, on voit apparaître un nouveau type de Short URI associées à Flickr.
Ces adresses web abbréviées sont incluses dans le code source de la page d’une photo (récente) mais ne sont pas facile à copier/coller.
Voici donc le bookmarklet permettant de faciliter la copie des short URI flic.kr
Je rappelle : un bookmarklet est une micro application JavaScript qui s’installe en glissant un lien dans ses bookmarks.
Pour les curieux, voici le code :
void((function(){ var a=document.getElementsByTagName("link"); for (var i=0,j=a.length;i<j;i++){ if(a[i].href.indexOf(('flic.kr'))>-1){ prompt("copy...",a[i].href); } } })())
Retrouver la version d’un Framework JavaScript
Après avoir passé quelques temps à débugger le code d’un collègue, j’ai eu l’heureuse surprise de me rendre compte qu’une ancienne version d’un Framework était employée. Elle ne comprennait pas les dernières méthodes utilisées maintenant.
Je me dis que ça pourrait aider du monde d’avoir une compilation des méthodes pour retrouver les versions des Frameworks JavaScript.
Vous n’avez qu’à entrer les lignes suivantes dans une console firebug ou en faire un alerte JavaScript.
jQuery
jQuery.fn.jquery; //returns jQuery version number ie: "1.2.6"
Prototype JS
Prototype.Version; //returns Prototype version number ie: "1.5.2_pre0"
Mootools
MooTools.version; //returns MooTools version number ie: "1.2.0"
ExtJS
Ext.version; //returns ExtJS version number ie: "2.2.1"
Yahoo! User Interface Library (YUI)
YUI v2
YAHOO.VERSION; //returns YUI version number ie: "2.5.2"
YUI v3
YUI().Env.meta.version; //returns YUI version number ie: "3.0.0pr2"
Dojo Toolkit
dojo.version; /* returns an object representing DOJO version number ie: "1.3.0 (16807)" major=1 minor=3 patch=0 revision=16807 with major, minor, patch and revision properties dojo.version.major, dojo.version.minor, etc */
Si vous employez d’autres Frameworks JavaScript, n’hésitez pas à laisser un commentaire, je mettrai cette liste à jour.
JavaScript : Récupérer l’id d’une vidéo YouTube
Un de mes collègue m’a demandé un petit script pour retrouver l’id d’une Vidéo de YouTube.
Un namespace, une petite expression régulières et on obtient ceci :
var YT=(function(){ return { getId:function(u){ var a=u.match(/(\/vi\/|v=)([^&]+)/); return (a&&a[a.length-1]); } }; })(); prompt("VideoId",YT.getId("//www.youtube.com/watch?v=_TiQCJXpbKg&fmt=6"));
Cette version ne se base pas sur la longueur de l’id vu que les id’s sont susceptibles de changer…
Si ça peut servir à quelqu’un d’autre…
Geotagging Bookmarklet
ou I CAN HAZ GEOTAGZ?
Status actuel de la géolocalisation :
- Le Groupe de Travail du W3C sur la géolocalisation est en place depuis peu, avec pour but de mettre sur pied des recommandations pour la fin de l’année.
- Firefox 3.1 promet l’implémentation d’une API de géolocalisation (pas encore de tests concluants sur la v3.1b2).
- Une série de providers (tels MaxMind) fournissent des services de conversion d’adresse ip vers un pays ou une adresse
- L’extension Firefox Loki permet une localisation précise sur base de la triangulation des signaux des routeurs wifi alentours.
- L’extension Firefox Geode promet d’employer les futures spécifications (
navigator.geolocation.getCurrentPosition()
) - Google Gears a aussi une API de géolocalisation
- Google JSAPI (qui permet d’ajouter dans vos sites les librairies JavaScript les plus employées) a des méthodes pour retrouver la position du visiteur.
- BrightKite permet de Twitter et géotagguer directement les photos prises avec son iPhone
Geotag bookmarklet
Via les spécifications disponibles et méthodes les plus faciles, je viens donc d’écrire un bookmarklet qui rajoute votre position géographique dans n’importe quel page web.
Pour l’installer, il suffit de glisser déposer le lien ci-dessus dans votre barre de favoris.
En cliquant dessus, le bookmarket rajoutera votre position (s’il la trouve) au premier champ textarea
de la page que vous visitez. Parfait pour Twitter.com
Le script de mon Geotag bookmarklet
var GT=(function(){ var P=4,u="undefined",d=document; var format=function(n,c){ var m=Math.pow(10,c); return Math.round(n*m)/m; }; var addMarker=function (p){ var t=d.getElementsByTagName("textarea")[0]; if(t.value.indexOf("#geo")<0){t.value+="#geo:"+format(p.latitude,P)+","+format(p.longitude,P);} }; this.getLocation=function(){ var p=google.loader.ClientLocation; if (p!==null){addMarker(p);} }; this.tag=function(){ if(typeof(navigator.geolocation)!=u){ //https://developer.mozilla.org/En/Using_geolocation || geode navigator.geolocation.getCurrentPosition(function(p){addMarker(p);}); } else { ////code.google.com/apis/ajax/documentation/#ClientLocation if (typeof(google)==u){ var jsapi=document.createElement("script"); jsapi.src="//www.google.com/jsapi?callback=GT.getLocation"; d.getElementsByTagName("body")[0].appendChild(jsapi); } } }; return {tag:tag,getLocation:getLocation}; })(); GT.tag();
Mon script vérifie si l’objet navigator.geolocation
existe (donc, si c’est FF3.1b2 ou si Firefox a l’addon Geode installé), sinon, il utilisera les méthodes fournies par le JSAPI de Google.
Bugs connus :
- Si vous passez par un server proxi pour vous connecter à internet ou si simplement les services de géolocalisation ne reconnaissent pas, aucun tag ne sera affiché.
- Internet Explorer 6 ne supporte pas les longs bookmarklets, je vous recommande donc d’installer un autre navigateur.
- La géolocalisation avec Firefox 3.1 beta 2 ne marche pas encore super bien.
- Je limite la précision à quatre décimales.
- J’emploie le système de géotagging employé BrightKite (par soucis de brièveté pour le status Twitter
#geo:<lat>,<long>
) et pas celui recommandé par Flickr (geo:lat=<lat>,geo:lon=<long>
)
Liens relatifs :
- Le script de Dion Almaer qui emploie aussi Google Gears (via Ajaxians)
- 6 technologies de 2008 que vous devez utiliser maintenant (dont la géolocalisation) sur Wired
- Exemple de Tweet géotaggué via BrightKite
Signature automatique sur un blog
Quand je vois le nombre de signatures sur les commentaires de blogs, je me dis qu’un petit script pour automatiser les signatures serait le bienvenu.
Prérequis
Quelques ingrédients sont nécessaires pour avoir une signature automatique :
- Un navigateur internet (Firefox/Safari/Chrome/Opera/IE)
- L’addon GreaseMonkey pour Firefox ou équivalent :
- GreaseMetal pour Chrome
- SIMBL et GreaseKit pour Safari MacOSX
- gm4ie pour Internet Explorer
- rien de spécial pour Opera, on peut directement exécuter des userscripts
- Un fichier JavaScript.
Amicalement, Greasemonkey
Greasemonkey est une extension qui vous permet d’écrire des scripts pour modifier les pages que vous visitez.
Voici le script :
//<![CDATA[ // ==UserScript== // @name Amicalement Greasemonkey // @author Marin Gatellier // @namespace //www.gatellier.be/blog/ // @description Ads your signature into textareas // @include * // ==/UserScript== (function(){ var t=document.getElementsByTagName("TEXTAREA"); var signature="\n\nAmicalement,\nGreasemonkey"; for (var i=0,j=t.length;i<j;i++){ if (t[i].value.indexOf(signature)<0){ t[i].value=t[i].value+signature; } } })() //]]>
Vous devez évidemment modifier la variable signature
(ligne 10) avec votre propre signature.
Petites astuces :
\n
- représente une nouvelle ligne
\t
- représente un tab
\\
- représente un backslash
Une fois installé, ce petit script ajoutera automatiquement votre signature à chaque textearea de chaque site web (peut être customisé par site)
Installer le script Amicalement Greasemonkey
4 commentaires