|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Invité régulier
![]() Inscription : août 2010 Messages : 28 ![]() |
Bonjour à tous,
Je suis confronté à un problème que je n'ai réussi que partiellement à résoudre, n'étant pas expert en la matière je m'en remets à vous ! Je vous présente la situation : Site intranet Sharepoint IE8 WebPart des annonces Pour ceux qui ne s'y connaissent pas, vous n'avez qu'à voir la chose comme un CMS, l'objectif étant de redimensionner automatiquement les images à l'intérieur des posts, et d'ajouter un lien vers elles-même sur celles-ci quand la résolution de l'écran de l'utilisateur est faible et qu'elles sont trop grandes, tout ceci sans intervention des rédacteurs. Exemple simplifié : Code html :
Devient si on ne veut pas d'image plus large que 700px : Code html :
N'ayant pas trouvé comment rajouter une balise parent à une balise (ajouter <a> .. </a> en l'occurence), j'ai décidé de simplement rajouter un 'onclick', Voici ce que j'obtiens : Code :
Pas de souci au niveau du redimensionnement des images, le code fait exactement ce que je veux en fonction de la taille des images et/ou de la résolution de l'écran. Le problème se trouve au niveau des liens des images : le code ajoute bien un 'onclick' à toutes les images, mais rajoute la même adresse pour toutes les images (adresse d'une image de la page, je ne sais pas pourquoi c'est l'adresse de telle image et pas d'une autre). D'après moi cela devrait marcher puisque le code en question se trouve bien dans la boucle avec une variable .. Précision : le code n'est destiné qu'à IE8, l'entreprise n'utilisant que ce navigateur. Une idée ? Merci d'avance |
||||||
|
|
00
|
|
|
#2 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 007 ![]() |
a quel moment est lancé ce script ?
ou est il placé sur la page ?
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : août 2010 Messages : 28 ![]() |
Bonjour SpaceFrog, merci de ta contribution.
Le script est placé dans <head>, j'aurais voulut l'écrire en tant que fonction sur body.onload, mais ceci impliquerait de modifier une masterpage et donc de le lancer pour toutes les pages, or ce script n'est destiné qu'à une seule page du site Sharepoint. |
|
|
00
|
|
|
#4 |
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 007 ![]() |
placé dasn le head sans etre lancé dans le onload implique que tu essaye d'atteindre des objets non encore créés !
place le dans une balise script en bas de page juste avant la balise de fermeture du body.
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|
|
00
|
|
|
#5 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 805 ![]() |
Code :
img.onclick = function(){window.open(this.src);};
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : août 2010 Messages : 28 ![]() |
Pardon, je dis n'importe quoi.
La balise script contenant le code est placée en bas de page, bien après le contenu. Ma page .aspx est un peu en foutoir et j'ai mal lu mon PlaceHolder. Donc pas de souci à ce niveau, le code n'aurait pas du tout marché sinon |
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : août 2010 Messages : 28 ![]() |
Bonjour Bovino,
Malheureusement dans ce cas là this ne renvoie pas à l'image actuelle (j'ai essayé, this.src renvoie 'undefined'). Merci de ton aide. |
|
|
00
|
|
|
#8 | ||
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 007 ![]() |
ton souci provient des tests sur les width ...
Code :
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
||
|
|
00
|
|
|
#9 | |||
![]() ![]() Inscription : janvier 2011 Messages : 2 930 ![]() |
Bonjour,
Citation:
Un exemple de code pour mettre une balise A autour d'une balise IMG Code :
|
|||
|
|
10
|
|
|
#10 |
|
Invité régulier
![]() Inscription : août 2010 Messages : 28 ![]() |
Bonjour NoSmoking,
J'avais déjà trouvé ce genre de fonction mais il ne me semblait pas qu'on pouvait faire ce que je désirais, ou peut-être que je n'ai pas assez réfléchi. En tout cas merci pour cet exemple de code je vais essayer dès demain matin. |
|
|
00
|
|
|
#11 |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 805 ![]() |
Juste une petite erreur (d'inattention apparemment) : c'est bien de déclarer les variables hors de la boucle, mais du coup, il ne faut pas les re-déclarer dans la boucle
(et de façon générale, déclarer une variable dans une boucle est une mauvaise pratique).Et l'astuce du jour : Cette ligne utilise le fait que la méthode removeChild() renvoie le noeud supprimé, ce qui permet d'affecter cette valeur de retour à une variable Sinon, en première intention, j'aurais plutôt utilisé cloneNode() pour remplir le lien créé et replaceChild() pour l'intégrer dans la page qui me semble (et de façon très subjective) plus "philosophiquement" adapté...
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
10
|
|
|
#12 | ||
![]() ![]() Inscription : janvier 2011 Messages : 2 930 ![]() |
Citation:
Citation:
|
||
|
|
00
|
|
|
#13 | ||||||
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 847 ![]() |
Citation:
Citation:
voici ton code en ligne avec cette fonction et ça fonctionne : http://ulb.comli.com/onclick.html (testé sous IE 8) autrement, (si tu n'as pas confiance dans le this) ta solution deviendrait simplement : Code js :
ou pour garder ton style d'écriture (attachEvent): Code js :
bien que la première écriture est plus simple (et compatible à tous les navigateurs) donc même pour un usage unique à IE8, je l'utiliserai. |
||||||
|
|
10
|
|
|
#14 | |
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 847 ![]() |
Citation:
|
|
|
|
00
|
|
|
#15 |
|
Invité régulier
![]() Inscription : août 2010 Messages : 28 ![]() |
Bonjour à tous, et avant tout merci de votre aide =)
Tout d'abord, ça y est j'ai réussi à faire ce que je voulais grâce à l'exemple et aux explications de Bovino et NoSmoking, vous êtes trop forts ! Pour te répondre Willpower, img.onclick est la première chose à laquelle j'ai pensé en élaborant mon code, sauf que ça n'a pas marché et qu'en faisant des recherches sur le web j'ai cru comprendre que cette solution présentait des incompatibilités avec IE. J'ai donc changé de méthode par la suite. Toujours est-il qu'en testant le code de ton lien (qui est pratiquement identique au mien au départ) dans ma page .aspx, cela ne fonctionne pas. Je ne mets pas ta parole en doute puisqu'en cliquant sur ton lien je vois bien que cela fonctionne, peut-être le problème vient-il de chez moi ? Encore merci à tous, problème résolu grâce à vous ! |
|
|
00
|
|
|
#16 | ||
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 007 ![]() |
Code :
un appendChild dans la balise a créé suffit non ?
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
||
|
|
00
|
|
|
#17 | ||
![]() ![]() Inscription : janvier 2011 Messages : 2 930 ![]() |
Citation:
Citation:
|
||
|
|
00
|
|
|
#18 | |||
![]() ![]() Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur Inscription : mars 2002 Messages : 30 007 ![]() |
Citation:
__________________
Ma page Developpez Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts) Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir... Votre post est résolu ? Alors n'oubliez pas le Tag ![]() ![]() réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr |
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com