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 :

Récupération de la sélection dans un iFrame


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Septembre 2004
    Messages : 7
    Par défaut Récupération de la sélection dans un iFrame
    Bonjour à tous,

    Voici mon pb : je voudrais savoir s'il est possible de récupérer du texte sélectionné dans un iFrame affichant un fichier PDF, Word, RTF, ...
    J'ai déjà essayé des trucs du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var doc = window.frames["mon_iframe"].document;
    var rng = doc.selection.createRange();
    var txt = rng.text;
    Mais hélàs cela ne marche pô ...

    Autrement, si ça n'est pas possible directement, est-il possible de déclencher la fonction "copier" des composants qui affichent ces fichiers, comme ça je pourrais récupérer ce que je veux dans le clipboard.
    J'ai déjà essayé ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    window.frames["mon_iframe"].document.execCommand("Copy");
    et ça ne marche pas non plus ...

    Je sais que ce n'est pas trop terrible d'afficher ce genre de documents dans un navigateur Web (surtout que ça fonctionne juste avec IE ), mais bon c'était une fonctionnalité qui avait été demandé par les utilisateurs du site ....

    Merci d'avance pour vos réponses

  2. #2
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    si les pages sont sur le même serveur :
    le doc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (iframe.window?iframe.window:iframe.contentWindow).document
    doc.getSelection() ou doc.selection.createRange()

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Septembre 2004
    Messages : 7
    Par défaut
    Merci beaucoup Fremy pour ta réponse

    Je viens de faire un test en plaçant les lignes suivantes dans mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var iframe = document.getElementById("mon_iframe");
    var doc = (iframe.window?iframe.window:iframe.contentWindow).document;
    var rng = doc.selection.createRange();
    var txt = rng.text;
    Malheureusement, j'ai toujours une erreur sur la ligne où est déclarée la variable doc, avec le message suivant : "Cette interface n'est pas prise en charge"

  4. #4
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    Citation Envoyé par jl26
    Merci beaucoup Fremy pour ta réponse

    Je viens de faire un test en plaçant les lignes suivantes dans mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var iframe = document.getElementById("mon_iframe");
    var doc = (iframe.window?iframe.window:iframe.contentWindow).document;
    var rng = doc.selection.createRange();
    var txt = rng.text;
    Malheureusement, j'ai toujours une erreur sur la ligne où est déclarée la variable doc, avec le message suivant : "Cette interface n'est pas prise en charge"
    Tu es sur que tes pages sont sur le meme serveur

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Septembre 2004
    Messages : 7
    Par défaut
    Oui, aucun souci de ce côté là : mes pages Web et les documents que j'affiche dans mes iFrame sont bien hébergés sur le même serveur.

    Encore merci pour ton aide !!

  6. #6
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    essaie : alert(iframe); alert(iframe.window); alert(iframe.contentWindow);

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/12/2013, 15h34
  2. Récupérer le code HTML de la sélection dans une iFrame
    Par umeboshi dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/11/2009, 10h04
  3. Réponses: 1
    Dernier message: 20/12/2008, 15h02
  4. Réponses: 2
    Dernier message: 31/03/2008, 14h32
  5. Réponses: 2
    Dernier message: 20/02/2004, 08h47

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