Mon problème est que je n'ai pas développé ce code, donc je ne sais pas
trop comment il fonctionne. Un "truc" serait de sauvegarder en HTML,
désactiver temporairement le Javascript et coller le bout de code YouTube.
C'est du bricolage... mais bon, cela peut fonctionner au coup par coup.
a+
loïc
Mon problème est que je n'ai pas développé ce code, donc je ne sais pas trop comment il fonctionne. Un "truc" serait de sauvegarder en HTML, désactiver temporairement le Javascript et coller le bout de code YouTube.
Effectivement, mais là, il faudrait que je prenne le temps de
comprendre, modifier et tester, ce qui, il faut bien l'avouer, ne
m'enchante guère.
Sinon, essaye d'insérer les <params> de YouTube avec le format suivant:
<param bli="blo" />
au lieu de :
<para bli="blo"></param>
Cela devrait passer.
a+
loïc
Salut,
Mon problème est que je n'ai pas développé ce code, donc je ne sais pas trop comment il fonctionne. Un "truc" serait de sauvegarder en HTML, désactiver temporairement le Javascript et coller le bout de code YouTube.Je faisais pour l'instant comme indiqué dans un autre sujet : je collais le code au dernier moment (juste avant d'enregistrer la ressource) mais il ne fallait surtout plus éditer la ressource sous peine de perdre des morceaux de code. Je colle ci-dessous le code du *.js qui s'occupe de nettoyer les balises qui sont vides : @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ /* tags vides */ /* note : on tente de ne pas tenir compte des commentaires html, ceux-ci permettent entre autre d'inserer des commentaires conditionnels pour ie */ while ( /(<[^\/!]>|<[^\/!][^>]*[^\/]>)\s*<\/[^>]*[^-]>/.test(html) ) { html = html.replace(/(<[^\/!]>|<[^\/!][^>]*[^\/]>)\s*<\/[^>]*[^-]>/g, ""); } @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Les balises <param></param> sont donc supprimées après utilisation de cette regexp. il suffirait de rajouter une règle évitant de prendre en compte ces balises et à mon avis, ça devrait être bon, non ?Effectivement, mais là, il faudrait que je prenne le temps de comprendre, modifier et tester, ce qui, il faut bien l'avouer, ne m'enchante guère.
Sinon, essaye d'insérer les <params> de YouTube avec le format suivant: <param bli="blo" /> au lieu de : <para bli="blo"></param> Cela devrait passer.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
/* tags vides */
/* note : on tente de ne pas tenir compte des commentaires html, ceux-ci
permettent entre autre d'inserer des commentaires conditionnels
pour ie */
while ( /(<[^\/!]>|<[^\/!][^>]*[^\/]>)\s*<\/[^>]*[^-]>/.test(html) ) {
html =html.replace(/(<[^\/!]>|<[^\/!][^>]*[^\/]>)\s*<\/[^>]*[^-]>/g, "");
}
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Remplacées par :
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
/* tags vides */
/* note : on tente de ne pas tenir compte des commentaires html, ceux-ci
permettent entre autre d'inserer des commentaires conditionnels
pour ie */
while (
/(<[^\/!]>|<[^\/!(param|embed)][^>]*[^\/]>)\s*<\/[^>]*[^-(param|embed)]>/.test(html)
) {
html =
html.replace(/(<[^\/!]>|<[^\/!(param|embed)][^>]*[^\/]>)\s*<\/[^>]*[^-(param|embed)]>/g,
"");
}
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Ensuite, quelques lignes avant, dans les expressions permettant de
remplacer les balises obsolètes en balises valides xhtml, j'ai fait ça :
Ligne 391 :
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[/<PARAM ([^>]*?[^\/])>/gi, "<param $1 />"],
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Remplacée par :
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[/<PARAM ([^>]*?[^\/])>/gi, "<param $1></param>"],
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Ajout d'une ligne juste après pour la balise embed :
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
[/<EMBED ([^>]*?[^\/])>/gi, "<embed $1></embed>"],
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Ainsi, tout le code copié/collé à partir de youtube ou de dailymotion
reste intact (j'ai testé les deux hébergeurs, dans le code de
dailymotion il y avait encore des balises <i>, <b>, ... obsolètes qui
ont été correctement remplacées au passage par <em>, <strong>, ...)
Ceci est une régression sur le plan de la propreté du code, je le
rapppelle, puisque qu'en théorie la balise <param> est unique (comme la
balise image) et se termine par un / (<param ........... />) et la
balise embed (il me semble du moins) est une balise propriétaire. Si on
veut tout de même avoir des balises <param ........./>, il suffit de
laisser le code de la ligne 391 tel quel.
Ce qui est un peu gênant à présent, c'est que les lecteurs ne
s'affichent pas dans la fenêtre de composition en mode visuel. On peut
résoudre ça ou pas ? C'est un peu troublant pour un débutant de ne pas
voir quelque chose qui s'affiche alors qu'on a fait un copié/collé
justement pour ça ! Dans IE 6, il y a des cadres qui s'affichent au moins.
Merci pour vos commentaires après tests éventuels (notamment sur le
premier fragment de code modifié).
Quelques questions au passage :
* C'est bien des regexp POSIX auxquelles on a à faire ici ?
* Je n'ai pas compris la signification de [^>] (pour moi ça veut dire
que la chaîne testée ,ne doit pas contenir de ">" mais je ne vois pas
pourquoi on le fait à l'endroit où s'est fait.
Merci pour votre aide.