[JS]Bookmarklets afficher / cacher les images

Fermé
Anne O'nyme - 7 avril 2009 à 16:03
math 2000 Messages postés 2579 Date d'inscription dimanche 9 septembre 2007 Statut Membre Dernière intervention 7 mai 2016 - 10 avril 2009 à 16:01
Bonjour,
J'essaye de faire un bookmarklet qui permettrais au premier click d'enlever les images, et au second click de els réafficher. Seulement, comme j'ai jamais codé en JS, et que j'ai juste besoin de ça je n'arrive pas a le coder. Voilà le code que j'ai reussi a faire pour le moment :
javascript:if(n=0){n=1; for(i=0;i<document.images.length;i++){void(document.images.style.visibility='visible')}}else{n=0;for(i=0;i<document.images.length;i++){void(document.images[i].style.visibility='hidden')}}


Donc voilà ce serais sympa si vous pourriez m'aider à creer ce petit script

Merci beaucoup :-)
Cordialement Anne O'nyme :D

19 réponses

math 2000 Messages postés 2579 Date d'inscription dimanche 9 septembre 2007 Statut Membre Dernière intervention 7 mai 2016 404
7 avril 2009 à 16:59
ça s'appelle un spoiler ton truc il y a plain de sujet sur ça

<div class="c1" onclick="pchild=this.getElementsByTagName('p'); if(pchild[0].style.visibility!='hidden'){pchild[0].style.visibility='hidden'; pchild[0].style.height='0';}else{pchild[0].style.visibility=''; pchild[0].style.height=''}">Spoiler
<p style="visibility: hidden; height: 0pt;">texte<br>
cach<br>
cach<br>
cach<br>
</p>
</div>

à la place tu texte tu met des image et c'est réglé
voir le 2eme exemple de mon site http://bormat2.free.fr/wordpress4/


edit tu peux supprimer le texte spoiler et mettre un fond transparent à la place de blanc pour adapter à ceux que tu veux
0
Bonsoir, je pense que l'on a du mal se comprendre.
Un bookmarklet est une sorte d'extension que l'on peut ajouter a son navigateur qui permet, par exemple de traduire une page web en francais. Un bookmarklet s'ajoute au navigateur comme un marque page sous firefox.

Et la je cherche a faire un bookmarklet qui permettrais en cliquant dessus (depuis mes marque-pages sur firefox), qui cacherais toutes les images sur la page.

Cordialement, Anne O'nyme
0
math 2000 Messages postés 2579 Date d'inscription dimanche 9 septembre 2007 Statut Membre Dernière intervention 7 mai 2016 404
8 avril 2009 à 11:49
tu veux un bouton dans les marque paghe ou favoris qui permette de cacher des image
c'est pour quoi mettre une image sur ton site et que seyule ceux qui est le code puisse l'enlever et voir dessous

j'espère avoir bien compris je vais voir
0
math 2000 Messages postés 2579 Date d'inscription dimanche 9 septembre 2007 Statut Membre Dernière intervention 7 mai 2016 404
8 avril 2009 à 12:57
j'ai un code il faut juste que je le simplifie puis je te le passe
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
math 2000 Messages postés 2579 Date d'inscription dimanche 9 septembre 2007 Statut Membre Dernière intervention 7 mai 2016 404
8 avril 2009 à 13:43
voici ce que j'ai fais:
le marque page :
javascript:affiche_cache('add_comment');


et tu met le même code que sur cet exemple
http://bormat2.free.fr/...


j'ai mis les lien en entier comme ça tu n'a pas à réheberger les fichiers
tu tape
 javascript:affiche_cache('add_comment');

dans ta barre d'adresse ou tu le met dans un marque page et tu verra l'image disparaitre

j espère que ça ne t'embête pas que je n'ai pas réutiliser ton code mais sans page d'exmple ou page htmlje sais pas le faire
il y a 2div qui servent à rien mais si je les enlève le code ne marche plus bizarre
0
Bonsoir,
Ouaip c'est exactement ça !
Seulement j'aurais aimé que cela puisse marcher sur tout les sites, par exemple quand je surf sur un site qui comporte des images trop flashy, j'appuierais sur ce bouton et ça cacherais les images. Mais si il y a une image sur le site que je veux voir je réappuie sur le bouton, et je peux revoir toute les images.
J'espere arriver a me faire comprendre ^^

Cordiallement, Anne O'nyme
0
math 2000 Messages postés 2579 Date d'inscription dimanche 9 septembre 2007 Statut Membre Dernière intervention 7 mai 2016 404
8 avril 2009 à 21:02
si tu as firefox tu peux installer un bouton qui permet de ne pas afficher les image mais c'est laid
je croyais que c'était que pour ton site
sinon il n'y a pas de code universel
0
C'est pas un code universel que je veux, mais un bookmarklets (va voir wikipedia pour plus de renseignement). Et en gros, il faudrait qu'il fasse la même chose que ton code, mais en une ligne, et sur toute les balises "<img />"

Donc je pensais être partis sur la bonne voix, et je demandais donc des avis d'experts du JS, n'ayant aucune connaissance dans se langage.

Revoila mon script en une ligne :
javascript:if(n=0){n=1; for(i=0;i<document.images.length;i++){void(document.images.style.visibility='visible')}}else{n=0;for(i=0;i<document.images.length;i++){void(document.images[i].style.visibility='hidden')}}


et le voila decomposé en plusieurs ligne :
javascript:if(n=0){
     n=1;
     for(i=0;i<document.images.length;i++){
          void(document.images.style.visibility='visible')
     }
}
else{
     n=0;
     for(i=0;i<document.images.length;i++){
          void(document.images[i].style.visibility='hidden')
     }
}
0
math 2000 Messages postés 2579 Date d'inscription dimanche 9 septembre 2007 Statut Membre Dernière intervention 7 mai 2016 404
9 avril 2009 à 21:29
c'est pour faire quoi car moi j'ai un bouton qui fait ça
0
math 2000 Messages postés 2579 Date d'inscription dimanche 9 septembre 2007 Statut Membre Dernière intervention 7 mai 2016 404
9 avril 2009 à 21:42
je sais pas si ça peut t'aider j'ai ça dans le js de mon button hide image j'ai ça
/* Function hides all images in the current tab */

function hideImages() {
    var test = _content.document.getElementById("zapImg");
    if (test) {
        test.parentNode.removeChild(test);
    } else {
        var style = _content.document.createElement("style");
        style.setAttribute("type", "text/css");
        style.setAttribute("id", "zapImg");
        style.innerHTML = "img, embed, object { visibility: hidden !important; } "
                        + "html * { background-image: none !important; }";
        var head = _content.document.getElementsByTagName("head")[0];
        head.appendChild(style);
    }
}

/*End Block*/
0
math 2000 Messages postés 2579 Date d'inscription dimanche 9 septembre 2007 Statut Membre Dernière intervention 7 mai 2016 404
9 avril 2009 à 21:45
et un xul
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://cbutton-1239305941/skin/button.css" type="text/css"?>
<!DOCTYPE dialog SYSTEM "chrome://cbutton-1239305941/locale/button.dtd">
<overlay id="tbutton" xmlns="https://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script type="application/x-javascript" src="chrome://cbutton-1239305941/content/script.js"/>
<toolbarpalette id="BrowserToolbarPalette">
<toolbarbutton
class="toolbarbutton-1 firefoxButton"
id="hide-images"
label="&hide-images.label;"
tooltiptext="&hide-images.tooltip;"
oncommand="hideImages();" />
</toolbarpalette>
</overlay>
0
math 2000 Messages postés 2579 Date d'inscription dimanche 9 septembre 2007 Statut Membre Dernière intervention 7 mai 2016 404
9 avril 2009 à 21:57
je vais continuer à faire des recherches
0
math 2000 Messages postés 2579 Date d'inscription dimanche 9 septembre 2007 Statut Membre Dernière intervention 7 mai 2016 404
9 avril 2009 à 22:06
ça doit pas exister
0
Beh logiquement ça doit être faisable, je sais que un code comme ça
javascript:for(i=0;i<document.images.length;i++){void(document.images[i].style.visibility='hidden')}

permet de cacher toute les image d'une page (sous firefox, crée un nouveau marque page, et comme adresse mets le code precedent)

Et pour les ré-afficher, je sais que ce code fonctionne :
javascript:for(i=0;i<document.images.length;i++){void(document.images[i].style.visibility='visible')}

(cf http://www.journaldunet.com/developpeur/tutoriel/dht/011030jscript_bookmarklet.shtml )
Et ce que j'aimerais faire, en gros c'est que au premier appuie sur le bouton ça cache les images, et au deuxieme, ça les affiches.
Ayant un petit peu un esprit de codeur, mais n'ayant aucune experience en JS, j'avais pensé a faire une variable pour savoir si on avais appuyer une fois ou pas, mais ça n'a pas l'air de fonctionner

En tout cas, merci d'avoir essayé de m'aider, et peut-être de continuer :D

Cordiallement, Anne O'nyme
0
math 2000 Messages postés 2579 Date d'inscription dimanche 9 septembre 2007 Statut Membre Dernière intervention 7 mai 2016 404
10 avril 2009 à 15:47
ha enfin j'en ai trouvé un
javascript:for(jK6bvW=0;jK6bvW<document.images.length;jK6bvW++){void(document.images[jK6bvW].style.visibility='hidden')}


et un petit bonus
http://forum.webrankinfo.com/petit-hack-google-rigolo-t79820.html
test le 1er script sur la page d'acceil google
c'est sur cet page que j'ai enfin troué le script

ça marche que sous firefox mais comme tu es sous firefox il devrait pas y avoir de pb
0
Ouaip c'est ça que je veux, mais la ça permet juste de cacher les images. Et j'aimerais que lorsque l'on re-clique sur ce marque page, ça ré-afiche les images.
Dans tout les cas merci quand meme x)
0
math 2000 Messages postés 2579 Date d'inscription dimanche 9 septembre 2007 Statut Membre Dernière intervention 7 mai 2016 404
10 avril 2009 à 15:58
bon pour réafficher faut mettre visible à la place maintenant faut fusionner les 2 donc
0
math 2000 Messages postés 2579 Date d'inscription dimanche 9 septembre 2007 Statut Membre Dernière intervention 7 mai 2016 404
10 avril 2009 à 15:59
j'avais cherché pour rien un autre coe je croyais que le 1er marcher pas au lieu que en fait c'est comment ça marche qui empeche de le faire
0
math 2000 Messages postés 2579 Date d'inscription dimanche 9 septembre 2007 Statut Membre Dernière intervention 7 mai 2016 404
10 avril 2009 à 16:01
je ne m'y connais pas en js mais ça doit être un truc avec "if"
0