Document.selection pour ff (firefox)

Soyez le premier à donner votre avis sur cette source.

Vue 25 923 fois - Téléchargée 611 fois

Description

Aucune description n'est fournie pour ce projet

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
1
Date d'inscription
vendredi 5 mars 2010
Statut
Membre
Dernière intervention
22 avril 2010

Salut!!!

Merci Merci Merci beaucoup vraiment pour le code :D il y a longtemps que je cherche quelque chose comme ça. J'avais le même problème (ça marchait en IE mais pas en FF). Après avoir découvert ça je suis heureuse. J'aimerais bien programmer comme toi ;) FÉLICITATION!

Bonne journée :)
Messages postés
46
Date d'inscription
jeudi 10 janvier 2002
Statut
Membre
Dernière intervention
5 février 2010

D'accord, je vais voir ça merci.
Messages postés
276
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
22 décembre 2008

Sous IE, le code ici n'est pas exécuté. On utilise le code par défaut de document.selection. Tu devrais donc regarder sur la MSDN ce qu'ils disent à ce sujet...
Messages postés
46
Date d'inscription
jeudi 10 janvier 2002
Statut
Membre
Dernière intervention
5 février 2010

Bonjour et merci déjà pour ce code magnifique.

J'ai un soucis sous IE8 dans le cas d'une iframe (cf msg yves2929 du 09/11/200).

J'ai modifié ton setter comme suit :

ControlRangeObject.prototype.__defineSetter__("htmlText",function(value) {
var range = this._range;
range.deleteContents();
range.insertNode(value)
});

Pour envoyer du html directement sans avoir la balise que tu créais qui parasitait.

Et je fais ça :

tr = pa.getSelection(pa.selectobj);
var e = document.createElement('b');
e.innerHTML = tr.text;
tr.htmlText = e;

J'ai bien un objet textRange mais IE8 dit que htmlText n'existe pas, ça plante à la dernière ligne, le reste ça a l'air d'aller.

Une idée ?

Merci d'avance.
Messages postés
2
Date d'inscription
vendredi 1 juin 2007
Statut
Membre
Dernière intervention
9 novembre 2009

voici donc ce qu'il faut faire avec une iframe.
merci d'avoir repondu aussi vite.

<script type="text/javascript" charset="utf-8">
var textRange = null;

function getItemSelection(edid) {
try {
textRange = getFrameSelection(new SelectionObject(getFrameWindow(document.getElementById(edid)))).createRange();
} catch (ex) {}
}

function setHtmlItemSelection(str) {
try {
if (textRange != null) {
//textRange.text = str;
if (textRange.pasteHTML) {
textRange.pasteHTML(str);
textRange.select();
} else {
textRange.htmlText = str;
}
}
} catch (ex) {}
}

function getFrameSelection(win) {
return win.document.selection? win.document.selection : win;
}

function getFrameWindow(iframe) {
return iframe.window? iframe.window : iframe.contentWindow;
}

</script>
Afficher les 47 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.