Je travaille sur un bookmarklet qui donne le chemin complet d'une image lorsque vous cliquez sur une image sur une page Web. L'image est ensuite téléchargée sur nos serveurs, et nous faisons des affaires.bookmarklet pour obtenir le chemin complet d'une image
Actuellement, le script analyse l'attribut src
à l'aide de jQuery, puis il a une logique bête qui fonctionne habituellement, mais souvent ce n'est pas le cas.
Maintenant, je pourrais continuer à écrire du code moche pour faire un meilleur travail d'analyse de l'URL en utilisant regex et d'autres choses, mais je pense qu'il devrait y avoir une meilleure façon de le faire .. Trouver un moyen d'imiter firefox) "Clic droit => Copier l'emplacement de l'image" serait fantastique.
Voici le code js pertinent que j'ai actuellement (buggé, mais cela fonctionne généralement) .. Des idées novatrices sur la façon de mieux accomplir cela?
var imgsrc;
$("img").click(function() {
imgsrc = $(this).attr("src");
var url = document.URL;
if (window.location.pathname != "/") {
var pathLoc = url.indexOf(window.location.pathname);
url = url.substr(0, pathLoc + 1);
} else if (window.location.pathname.substr(0,1) == "/") {
url = url.substr(0, url.length - 1);
}
if (imgsrc.toLowerCase().indexOf("http://") != 0) {
imgsrc = url + imgsrc;
}
window.open("http://www.mycompany.com/whatever?imgsrc=" + imgsrc + "");
});
$("img").hover(function() {
$(this).css({'border' : '4px solid #ff0000'});
}, function() {$(this).css({'border' : ''});
});
le premier a totalement travaillé et a complètement tué 10 lignes de mauvais code. Merci! –
en fait, il est assez important d'échapper à votre URL .. maintenant, il fonctionne pour tout: $ ("img"). Cliquez sur (function() { window.open ("http://www.mycompany.com/whatever ? imgsrc = "+ escape (this.src) +" "); }); –
@fuhrysteve, mais vous devriez utiliser encodeURIComponent() – James