SPIP ecureuil




Thème de ce forum :

ThickBox v3.1 et IE...



Thierry
ThickBox v3.1 et IE...
22 novembre 2007 22:05

Bonjour à tous, je suis en train de réaliser un site avec SPIP (bien sûr !!!) où j’ai besoin de ThickBox 3.1 pour afficher des images et des flashs. J’ai créé un plug-in personnel pour ça, et ça fonctionne très bien sous Firefox, Safari, Camino, Opéra... Mais comme on peut s’en douter, il y a des problèmes avec Internet Explorer 6 (pas essayé avec IE 7). La fenêtre "pop-up" n’apparaît pas au bon endroit si je suis descendu en bas de la page... J’ai jeté un coup d’oeil au plug-in ThickBox pour SPIP (qui n’utilise que la version 2 de ThickBox) et j’ai constaté des modifications de la feuille de style pour IE6. J’ai tenté vainement de mettre ces modifications dans ma feuille CSS, sans succès... D’autre part, en allant sur le site de ThickBox avec IE6, tout fonctionne parfaitement. Les questions sont donc les suivantes : 1- pourquoi ThickBox avec SPIP ne fonctionne pas de la même façon que ThickBox sans SPIP ??? Qu’y-a-t-il dans SPIP qui modifie son comportement ? 2- quelles modifications apporter à la feuille de style de ThickBox (et pourquoi, car j’aime comprendre ce que je fais...) ? Je me débrouille pas mal en CSS, mais les subtilités d’IE6 me dépassent... Je vous remercie d’avance de toute suggestions utiles pour faire avancer mon site. Ceux qui répondront utilement seront invité au vernissage ;-) Thierry

Rechercher dans les forums:
 

Thierry
23 novembre 2007 21:31
ThickBox v3.1 et IE : résolu !!!!

Bon, j’ai résolu le problème tout seul comme un grand. Je pense que ça peut servir à d’autres, alors voici l’explication à la fois du problème et de la solution... 1- le problème : il est simple, SPIP utilise jQuery version 1.1, alors que ThickBox 3.1 nécessite au moins la version 1.1.3.1 (où s’arrêteront-ils dans leur numérotation...), et ce, pour une raison toute bête : il faut la fonction "jQuery.browser.version" (détection de la version 6 de IE dans le script de ThickBox). Sans cette fonction, pas de mise en place du hack pour IE6 dans thickbox.js. Cette fonction n’est pas dans la version 1.1... 2- la solution : mettre à jour jQuery dans SPIP. Rien de bien difficile : dans votre dossier squelette, copier le dossier "javascript" et le fichier "jquery.js.html" tout deux contenus dans le dossier "dist". Dans le dossier "squelette/javascript", placer le fichier "jquery-1.1.3.1.pack.js" (on l’obtient sur le site de thickbox en jetant un coup d’oeil à la page source...), et dans "squelette/jquery.js.html" remplacer la ligne [(#INCLURE{javascript/jquery-1.1.js}|compacte_js)] par [(#INCLURE{javascript/jquery-1.1.3.1.pack.js})]. Ensuite, vider le cache du site et ça roule (au moins chez moi !). Donc, pas de modifications du CSS de thickbox, pas de hacks dans le CSS de SPIP... Thierry

8 avril 2008 20:03
ThickBox v3.1 et IE...

Merci beaucoup

Teddy
28 avril 2008 14:51
ThickBox v3.1 et IE...

Bonjour,

Ton plugin intéresserait pas mal de gens dont moi !

As-tu fait des changements particulier à ThickBox 3.1 ? As-tu pu l’insérer en plugin sans modification du code source de Thickbox pour qu’il fonctionne avec SPIP ?
Il me semble que pour Thickbox2, les dév ont dû faire quelques modifs... Mais je n’en suis plus sûr.

Peux-tu nous faire partager ta mise en prod s’il te plaît ?

ThiLuc
28 avril 2008 21:06
ThickBox v3.1 et IE...

Bonsoir,

suite à la demande précédente, je vais essayer d’expliquer ce que j’ai fait.

D’abord, voir le résultat : www.anneperrissol.fr

Allez consulter une galerie, et ThickBox se mettra en route... (avec du flash, c’est une autre histoire !)

On pourra par exemple voir ici thickbox pour des photos

Comment j’ai fait...

1- comme indiqué dans mon précédent message, j’ai d’abord adapté mon squelette. Pour ça, mettre le fichier "jquery.js.html" dans votre dossier "squelettes" avec le contenu suivant :

[(#REM)

        Charger la librairie jQuery et ses plugins

]#CACHE{7*24*3600,cache-client}
#HTTP_HEADER{'Content-Type: text/javascript'}
/*
* jQuery 1.2.1 - New Wave Javascript
*
* Copyright (c) 2007 John Resig (jquery.com)
* Dual licensed under the MIT (MIT-LICENSE.txt)
* and GPL (GPL-LICENSE.txt) licenses.
*
* + form.js (plugins @ jQuery.com)
* + ajaxCallback.js (www.spip.net)
*/
[(#INCLURE{javascript/jquery-1.2.1.pack.js})]
[(#INCLURE{javascript/form.js}|compacte_js)]
[(#INCLURE{javascript/ajaxCallback.js}|compacte_js)]

On appelle ainsi le jquery le plus récent (rien de vous empêche ensuite de faire les mises à jours !

2- mettre les fichiers "jquery-1.2.1.pack.js", "form.js" et "ajaxCallback.js" (le premier obtenu sur le site de jquery, les deux autres déjà dans SPIP, dossier "dist/javascript") dans un dossier "javascript" dans votre dossier "squelettes".

3- mettre le dossier "thickbox" récupéré sur internet dans un dossier de plug-in, et faire un plug-in "mon_plugin" dans lequel on place le code suivant dans un fichier "mon_plugin_fonctions.php" :

<?php
function mon_plugin_insert_head($flux){
        $flux .= '<script type="text/javascript" src="'.find_in_path('thickbox/thickbox.js').'"></script>
';
        $flux .= '<link rel="stylesheet" href="'.find_in_path('thickbox/thickbox.css').'" type="text/css" media="screen" />
';
        return $flux;
}
?>

4- pour utiliser ThickBox, j’ai créé un plug-in qui fait beaucoup de choses, et donc je ne pense pas pouvoir le partager ! Cependant, avec l’installation précédente, le code suivant devrait fonctionner dans une page :

<a class="thickbox" title="Un titre" rel="my_gallery" href="dossier/image.JPG">
<img class="thumbnail" src="dossier-vignettes/image.JPG" alt="image" title="La belle image" style='max-width: 520px; max-height: 100000px' >
</a>

Je peux éventuellement fournir un code pour générer ça sous forme de plug-in, mais il me faudrait un peu de temps : le mien fait beaucoup plus à cause de la particularité du site, et de la présentation sous forme de flash ! Qui peut le plus peut le moins, mais parfois ce n’est pas si facile !

J’espère que ça va en aider quelques uns. Je reste à l’écoute pour des compléments que j’aurais oublié de fournir !

Thierry

DerClown
22 juillet 2008 12:19
ThickBox v3.1 et IE...

Bonjour,

J’aime beaucoup ce script malheureusement, j’ai un problème sous IE7, ma page est longue et quand on clique la fenetre s’ouvre tout en haut au lieu de s’affiche au centre de l’écran comme pour la barre de chargement...

Quelqu’un sait ce que je dois modifier ? Le css ? Quel fichier ?

Merci beaucoup !

Hugh
25 août 2008 14:33
ThickBox v3.1 et IE...

Bonjour,

Lorsque je tente de faire une mise à jour de JQuery (pour la 1.2.6) avec la méthode donnée, j’ai une erreur javascript "missing ) in parenthetical" venant de spip.php?page=jquery. J’ai la même chose avec la version 1.2.3, et maintenant j’ai aussi une erreur de syntaxe quand j’essai avec JQuery 1.1...

D’ailleurs maintenant que j’ai un peu trifouiller avec JQuery, l’espace d’admin n’est plus utilisable car le menu horizontal ne fonctionne plus (pas de sous-menu)...

Lorsque j’inclus directement le fichier Jquery dans les pages du squelette (article.html etc.) je peux faire appel à des scripts qui en dépendent (animatedcollapse et curvycorners notamment) si ceux-ci sont aussi inclus de la même manière. Et je n’ai pas de message d’erreur.

Par contre impossible d’utiliser la méthode plus propre de modification de jquery.js.html... Pourtant il faudrait que je puisse le faire parce que je voudrais utiliser le plugin diapo de spip qui lui ne semble pas fonctionner lorsque j’inclus Jquery "à l’ancienne" dans une balise script...

Quelqu’un aurait une idée ?

RSS






squelette