Pbme de script sur Firefox 2.0

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Pbme de script sur Firefox 2.0

par Sarawak » 14 janv. 2007, 10:31

nl2br() :-k
ne fonctionne pas mais .....
	$corps = preg_replace("/\\r\\n|\\n|\\r/", sprintf("% -".(5+$num)."s","<BR>\\n"), $row[corps]);	
lui fonctionne
je clôture donc le post. Merci à tous pour votre aide

par Truc » 14 janv. 2007, 01:07

nl2br() :-k

par Sarawak » 13 janv. 2007, 23:49

Bon, je crois avoir compris le problème mais je n'ai pas encore la solution.

En fait, les retours à la ligne sont remplacés sous Firefox uniquement par des %OD... et avec ce caractère ça fonctionne pas.

J'ai bien essayé de faire
	$corps=str_replace("\n", "<br>", $row[corps]);
mais ça ne fait rien de plus.
D'ailleur je ne suis pas sur qu'en base les retours à la ligne soient stockés en \n

Là ce soir je ne vois pas de solution au problème...donc si vous pouvez éclairer ma lanterne ce serait le bienvenue. :cry:

par Sarawak » 12 janv. 2007, 10:50

Merci pour tes réponses, je ferai mes tests ce soir

par Dominic » 12 janv. 2007, 10:08

je viens de voir qu'il s'agit surement du signe + qui est le symbole de concaténation en javascript.
donc pour résoudre ton pb il faudrait que tu fasses un ereg_replace de + par . pour passer de l'un à l'autre.

Ceci est une piste, pas une affirmation absolue.
en tout cas cela n'a pas à voir avec les balises html puisque <p> est restitué
bon courage

par Dominic » 12 janv. 2007, 09:59

apparemment c'est le signe %0D qui n'est pas interprêté avec firefox

en local sur mon PC j'ai le même type de pb si je fais un copier-coller de la barre d'adresses de firefox et que je le colle dans la barre d'adresse de IE j'ai un message d'erreur
les espaces et les guillemets ne sont pas compatibles par exemple.

regardes ce que signifie au juste ce %0D et essaies en le remplaçant par autre chose

par Sarawak » 11 janv. 2007, 21:18

apparemment le > de <p> est interprêté comme fermant <a href

essaies ta ligne comme suit
<td width="38"><a href=" javascript:agrandir_image('<? print $image; ?>', 358, '<?=$titre?>', '<?=$pied?>
J'ai remplacé le = par un print, sous IE cela fonctionne, sous Firefox, lj'ai toujours la même erreur.

J'ai testé avec une news sans apostrophe j'ai le même résultat.

Je n'ai pas mis tout le code pour éviter d'alourdir le message mais la fonction
init_layer();
est bien définie.

La seule solution serait elle de passer l'info sans le formatage HTML ?
Dans ce cas comment reformater le texte après ?

par Xenon_54 » 11 janv. 2007, 09:48

Tu sembles plutôt avoir un problème de guillemets.

Ceci: Pour l'italique
Tu devrais faire: Pour l\'italique

L'apostrophe se confond avec le délimitateur de chaine javascript.

par Dominic » 11 janv. 2007, 09:32

apparemment le > de <p> est interprêté comme fermant <a href

essaies ta ligne comme suit
<td width="38"><a href=" javascript:agrandir_image('<? print $image; ?>', 358, '<?=$titre?>', '<?=$pied?>

par Arcanis » 10 janv. 2007, 23:32

cette fonction n'a pas l'air d'être déclarée:

Code : Tout sélectionner

init_layer();
t'est sur d'avoir mis tout le code?

par Sarawak » 10 janv. 2007, 23:17

c'est bien

Code : Tout sélectionner

td width="38"><a href="javascript:agrandir_image('<?=$image?>', 358, '<?=$titre?>', '<?=$pied?>', '<?=$corps?>')"><img src="images/bouton_liresuite.gif" width="38" height="28" border="0"></a></td>
mauvais copier/coller dans le message précédent

par Sarawak » 10 janv. 2007, 23:15

le code appellant
      <td width="38"><a href="javascript:agrandir_image('<?=$image?>', 358, '<?=$titre?>', '<?=$pied?>', '<?=$corps?>')"><img src="images/bouton_liresuite.gif" width="38" height="28" border="0"></a></td>
et le détail du code javascript appellé

Code : Tout sélectionner

// affiche les news en surimpression // avec le titre, l'image, la news // 4 arguments : le fichier image, sa largeur en pixels, le titre (en haut) et le corps de la news function agrandir_image(fimage, largeur_image, titre, soustitre, corps) { // reinitialise le layer init_layer(); if (obj_layer) { larg_image = largeur_image; cache = false; var ch_texte = "<table cellspacing='0' cellpadding='4' border='0' bgcolor='" + _couleur_fond + "'>"; // affiche le titre en haut ch_texte += affiche_titre(titre); // affiche l'image ch_texte += "<tr> <td width='350'><p class=newst>"+ corps +"<br><br></p><i style='font-size:13;'><a href='javascript:fermer()'>Fermer la fenêtre</a></i></font></td>" ch_texte += "<td width='358' align='center'" + (_bordure_titre ? " colspan='2'>" : ">") + "<img src='" + _dir_images + fimage + "' border='0'></td></tr>"; // affiche en bas le sous-titre s'il existe if (soustitre) ch_texte += affiche_soustitre(soustitre); ch_texte += "</table>"; // replace le layer, si on a fait défilé la fenêtre scroll_layer(); // affecte ch_texte au contenu du layer contenu_layer(ch_texte); } }

par Arcanis » 10 janv. 2007, 23:02

quel est le code complet?

Pbme de script sur Firefox 2.0

par Sarawak » 10 janv. 2007, 22:51

Bonsoir,

Je viens d'isntaller Firefox pour effectuer des tests et j'ai une erreur sur un script qui fonctionne bien sous IE

But du script : Quand on clique sur un bouton une fenêtre popup s'ouvre avec les informations transmises par le script

Code : Tout sélectionner

Erreur : unterminated string literal Fichier source : javascript:agrandir_image('site_internet.jpg', 358, 'News essai', 'News publi%C3%A9e le 04/11/2006', '<p>%0D<br>Ceci est un essai de <strong>news</strong>. %0D<br></p>%0D<br><p>%0D<br>Pour l'italique <em>essayons</em> cela %0D<br></p>%0D<br><h1>&nbsp;Test avec Heading1</h1>%0D<br><h2>Test avec Heading2</h2>%0D<br><p>%0D<br>&nbsp;%0D<br></p>%0D<br>') Ligne : 1, Colonne : 85 Code source : agrandir_image('site_internet.jpg', 358, 'News essai', 'News publiée le 04/11/2006', '<p>
A priori quand je passe une variable dans laquelle se trouve des balises HTML (ici <p>) cela plante

Comment faire pour assurer la portabilité ?