je rencontre un soucis avec mon editeur de contenu sous firefox, en effet le paramètre contenteditable="true" n'est pas prit en compte sous mozila, j'essai de passer à ce navigateur mais il fait tout pour me renvoyer cher microsoft
merci d'avance
Code : Tout sélectionner
<div contenteditable="true" name="memoHtml" id="memoHtml" style="width:100%; height:400px;border:1px solid #666666;"> ici mon editeur</div>
Ton truc est un peu bidon on diraitComment ça marche
…
<script type="text/javascript" src="wysiwyg.js"></script>
…
Note: les exemples de cette page ne fonctionnent toujours qu'avec Microsoft Internet Explorer 5.5 minimum (sans parler du fait que je ne teste que sous IE6).
…
et pour ceux qui serait enfin prêt à migrer vers Microsoft Internet Explorer…
Code : Tout sélectionner
function selOn(ctrl)
{ //mouse déjà passée
ctrl.style.borderColor = '#003399';
ctrl.style.backgroundColor = '#F3C475';
ctrl.style.cursor = 'hand';
}
function selOff(ctrl)
{
ctrl.style.borderColor = '#003399';
ctrl.style.backgroundColor = '#FFFFFF';
ctrl.style.cursor = 'hand';
}
function selUp(ctrl)
{
ctrl.style.borderColor = '#003399';
ctrl.style.backgroundColor = '#99CCFF';
ctrl.style.cursor = 'hand';
}
function selDown(ctrl)
{
ctrl.style.borderColor = '#003399';
ctrl.style.backgroundColor = '#99CCFF';
ctrl.style.cursor = 'hand';
}
function doCommand(idCommand)
{
var oSelection;// Vérifie qu'il s'agit d'une sélection de type texte
oSelection = document.selection.createRange();
if (document.selection.type == "Control")
{
if (oSelection.length != 1)
return;
var oImage = oSelection(0);
oSelection = document.body.createTextRange();
oSelection.moveToElementText(oImage);
oSelection.select();
}
// Vérifie que le texte sélectionné est modifiable
if (oSelection.parentElement().isContentEditable != true)
if (idCommand != 'copy')
return;
if (idCommand == 'createLink')// Cas où insertion d'un lien
{ doCreateLink(oSelection); return; }
if (idCommand == "insertTab")// Cas où insertion d'un tableau
{ doInsertTab(oSelection); return; }
if (idCommand == "insertMov")// Cas où insertion d'une video
{ doInsertMov(oSelection); return; }
if (idCommand == "insertImage")// Cas où insertion d'une image 2 insertTab
{ doInsertImage(oSelection); return; }
document.execCommand(idCommand);// Exécute les autres commandes telles quelles
}
function doInsertMov(oSelection)
{
// Configure la boite de dialogue
var sFeatures;
sFeatures = "dialogHeight:450px;dialogWidth:450px;help:no;scroll:yes;status:yes;edge:raised";
// Teste si création ou modification d'une image
var bIsImage = false;
var aArguments;
aArguments = new Array();
if (oSelection.parentElement().tagName == "IMG")
{
// - mémorise qu'il y a déjà une image
bIsImage = true;
// - récupère l'url, la légende et l'alignement de l'image
aArguments[0] = oSelection.parentElement().src;
aArguments[1] = oSelection.parentElement().alt;
aArguments[2] = oSelection.parentElement().align;
}
else
{
// - initialise une nouvelle image
aArguments[0] = "";
aArguments[1] = "";
aArguments[2] = "";
}
// Affiche la boite de dialogue d'insertion d'une image
var sNewImage;
sNewImage = window.showModalDialog('tolbar/insertVideo.php', aArguments, sFeatures);
// Rien à faire si clic sur le bouton [Annuler]
if (sNewImage == "~")
return;
// Cas où pas d'image sélectionnée
if (sNewImage == "")
{
// => supprime éventuellement l'image en cours
if (bIsImage == true)
oSelection.parentElement().outerHTML = "";
}
// Insère l'image saisie
if (sNewImage != "")
{
if (bIsImage == true)
{
// - remplace l'image en cours par la nouvelle image
oSelection.parentElement().outerHTML = sNewImage;
}
else
{
// - insère la nouvelle image
oSelection.pasteHTML(sNewImage);
}
}
}
function doInsertImage(oSelection)
{
// Configure la boite de dialogue
var sFeatures;
sFeatures = "dialogHeight:450px;dialogWidth:450px;help:no;scroll:yes;status:yes;edge:raised";
// Teste si création ou modification d'une image
var bIsImage = false;
var aArguments;
aArguments = new Array();
if (oSelection.parentElement().tagName == "IMG")
{
// - mémorise qu'il y a déjà une image
bIsImage = true;
// - récupère l'url, la légende et l'alignement de l'image
aArguments[0] = oSelection.parentElement().src;
aArguments[1] = oSelection.parentElement().alt;
aArguments[2] = oSelection.parentElement().align;
}
else
{
// - initialise une nouvelle image
aArguments[0] = "";
aArguments[1] = "";
aArguments[2] = "";
}
// Affiche la boite de dialogue d'insertion d'une image
var sNewImage;
sNewImage = window.showModalDialog('tolbar/insertImage.php', aArguments, sFeatures);
// Rien à faire si clic sur le bouton [Annuler]
if (sNewImage == "~")
return;
// Cas où pas d'image sélectionnée
if (sNewImage == "")
{
// => supprime éventuellement l'image en cours
if (bIsImage == true)
oSelection.parentElement().outerHTML = "";
}
// Insère l'image saisie
if (sNewImage != "")
{
if (bIsImage == true)
{
// - remplace l'image en cours par la nouvelle image
oSelection.parentElement().outerHTML = sNewImage;
}
else
{
// - insère la nouvelle image
oSelection.pasteHTML(sNewImage);
}
}
}
function AddLink()
{
//identify selected text
var sText = document.selection.createRange();
if (sText.text != "")
{
//create link
doCommand('createLink');
//document.execCommand("CreateLink");
//change the color to indicate success
if (sText.parentElement().tagName == "A")
{
sText.execCommand("ForeColor",false,"#FF0033");
}
}
else
{
alert("veuillez selectionner votre texte!");
}
}
function doCreateLink (oSelection)
{
// Configure la boite de dialogue
var sFeatures;
sFeatures = "dialogHeight:160px;dialogWidth:450px;help:no;scroll:no;status:no";
// Teste si création ou modification d'un lien
var bIsLink = false;
var sOldHtml = "";
var aArguments;
aArguments = new Array();
if (oSelection.parentElement().tagName == "A")
{
// La sélection correspond à un lien =>
// - mémorise l'élément lié actuel
bIsLink = true;
sOldHtml = oSelection.parentElement().innerHTML;
// - récupère l'url et la légende du lien
aArguments[0] = oSelection.parentElement().href;
aArguments[1] = oSelection.parentElement().title;
}
else
{
// La sélection ne correspond pas à un lien
// => teste si l'élément supérieur n'est pas un lien
if (oSelection.parentElement().parentElement.tagName == "A")
{
// L'élément supérieur correspond à un lien =>
// - mémorise l'élément lié actuel
bIsLink = true;
sOldHtml = oSelection.parentElement().parentElement.innerHTML;
// - récupère l'url et la légende du lien
aArguments[0] = oSelection.parentElement().parentElement.href;
aArguments[1] = oSelection.parentElement().parentElement.title;
}
if (bIsLink == false)
{
// L'élément supérieur ne correspond pas à un lien =>
// - initialise un nouveau lien
aArguments[0] = "";
aArguments[1] = "";
// - sélectionne éventuellement le mot en cours
if (oSelection.text == "")
{
oSelection.collapse();
oSelection.expand("word");
if (oSelection.text.charAt(oSelection.text.length - 1) == " ")
oSelection.moveEnd("character", -1);
oSelection.select();
oSelection = document.selection.createRange();
}
}
}
// Affiche la boite de dialogue de création d'un lien
var sNewLink;
sNewLink = window.showModalDialog('tolbar/createLink.htm', aArguments, sFeatures);
// Rien à faire si clic sur le bouton [Annuler] ou [X]
if (sNewLink == "~")
return;
// Cas où pas de lien sélectionné
if (sNewLink == "")
{
// => supprime éventuellement le lien en cours
if (bIsLink == true)
document.execCommand('Unlink');
}
// Insère le lien saisi
if (sNewLink != "")
{
if (bIsLink == true)
{
// - remplace le lien en cours par le nouveau lien
sNewLink = sNewLink + sOldHtml + "</a>";
if (oSelection.parentElement().tagName == "A")
oSelection.parentElement().outerHTML = sNewLink;
else
oSelection.parentElement().parentElement.outerHTML = sNewLink;
}
else
{
// - insère le nouveau lien
sNewLink = sNewLink + oSelection.htmlText + "</a>";
oSelection.pasteHTML(sNewLink);
}
}
}
function CopyContent (sHtmlSource, sTextTarget)
{
var sHtml = document.getElementById(sHtmlSource).innerHTML;
var sXhtml = HtmlToXhtml(sHtml);
document.getElementById(sTextTarget).innerText = sXhtml;
}
function HtmlToXhtml (sHtmlCode)
{
return(sHtmlCode);
}