IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Empêcher de coller du contenu dans iframe en mode édition


Sujet :

JavaScript

  1. #1
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut Empêcher de coller du contenu dans iframe en mode édition
    Bonjour,

    J'utilise un iframe en mode édition pour un "mini" éditeur RichText. (j'ai juste
    un bouton Gras et Italic).

    ça fonctionne bien sauf que l'iframe en mode édition permet de coller du
    contenu formaté, par exemple si on sélectionne une section de page html,
    qu'on copie et qu'on colle dans l'iframe en mode édition, tout y passe, tableaux,
    images, liens etc...

    Quelqu'un aurait une solution pour empêcher de coller dans l'iframe ?
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  2. #2
    Membre actif Avatar de nod__
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 176
    Points : 226
    Points
    226
    Par défaut
    un truc genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    danstoniframe.onpaste = function () {return false;}
    ?

  3. #3
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    Si seulement :-) mais ça marche pas sur FireFox

    J'ai bricolé une détection de CTRL+V, SHIFT INSERT et souris droite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var d = iframe.contentWindow.document;
    d.addEventListener('keydown', function(e) {
    	var pd = (e.ctrlKey && !e.shiftKey && !e.altKey && ( e.which == 86 || e.which == 118 )) ||
    	 (!e.ctrlKey && e.shiftKey && !e.altKey && e.which == 45);
    	if(pd) e.preventDefault();
    }, true);
    d.addEventListener('contextmenu', function(e) { e.preventDefault(); }, true);
    ça semble fonctionner sur mon FireFox, mais si qqn a un code 'éprouvé' et
    crossbrowser je suis preneur.
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  4. #4
    Membre actif Avatar de nod__
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 176
    Points : 226
    Points
    226
    Par défaut
    et si tu met le onpaste sur le body de ton iframe ? ya pas de raisons que ça marche pas sous FF, il gère bien onpaste.

  5. #5
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    Malheureusement le onpaste fonctionne pas 'encore' sous gecko
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par marcha Voir le message
    Salut,

    Malheureusement le onpaste fonctionne pas 'encore' sous gecko
    Si, mais à partir de FF3 il me semble...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    En effet ça fonctione sur FF3 (J'ai du réinstaller mon nunux pour installer FF3 :-)

    Voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var e = iframe.contentWindow.document.body;
    e.addEventListener('paste', function(event) { event.preventDefault(); }, true);
    Pas testé sur IE pour le moment,

    merci à vous
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  8. #8
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    J'ai encore un soucis, je n'arrive pas à empêcher l'utilisateur d'injecter du contenu
    dans le document de l'iframe par un drag&drop

    le onpaste n'est pas levé (normal vu la doc), par contre je détecte le drop (ondrop)
    sur le document. Mais pas moyen d'empêcher l'insertion des données,

    une idée ?
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

Discussions similaires

  1. [Python 2.X] Importer un fichier et coller son contenu dans un fichier .txt
    Par adrbessy dans le forum Tkinter
    Réponses: 1
    Dernier message: 05/08/2014, 21h56
  2. Positionnement de contenu dans une iframe
    Par Simcobe dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 21/10/2007, 19h52
  3. Accès aux données contenues dans une Iframe
    Par Jérémy Lefevre dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 03/10/2007, 11h24
  4. Utilisez fonction contenue dans une iframe
    Par chillansky dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/08/2006, 14h56
  5. Valider un formulaire contenu dans une iframe
    Par snoopy5.0 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/04/2005, 11h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo