2017-05-18 1 views
0

Dans mon code HTML, j'ai un Iframe qui est un lien vers un google doc. Actuellement, l'utilisateur pourra éditer le document. Cependant, je ne veux pas que l'utilisateur puisse changer le document. Comment devrais-je rendre l'iframe en lecture seule?Rendre un iframe en lecture seule

Répondre

2

Modifier

Si vous utilisez « Fichier> Publier sur le Web ... » dans Google Docs, les gens ne seront pas en mesure de modifier votre document de toute façon. Docs Help (voir 'Comment apparaissent les fichiers publiés lorsque vous les partagez').

En voici une que je viens de publier: try me.

Réponse originale

j'imagine que la seule façon d'assurer pleinement ce n'est pas modifiable est par certains paramètres sur Google Docs lui-même, toute sorte de bloc avec JavaScript ou CSS a la possibilité d'être désactivée. De plus, JavaScript ne pourra pas contrôler quoi que ce soit à l'intérieur de l'iframe, car il provient d'une origine différente. Cela dit, la manière la plus simple est probablement avec CSS, pointer-events: none; va désactiver les événements de la souris sur l'iframe, ce qui empêche l'utilisateur de le sélectionner. MDN Docs

iframe { pointer-events: none; } 

ou un style en ligne ...

<iframe style='pointer-events: none;'></iframe> 
+0

C'est une réponse correcte, oui, mais il faut vraiment souligner que ceci doit être fait dans Google Docs lui-même **. Ce n'est en aucun cas une mesure sûre! –

+0

Et je ne suis pas sûr que ça marchera même. 'pointer-events: none' empêche l'utilisateur de cliquer sur l'élément, mais l'utilisateur peut toujours être capable de focaliser la trame (par exemple en la tabulant) et de la saisir. – duskwuff

1

Vous pouvez utiliser pour couvrir le css iframe avec un autre élément/pseudo-élément pour empêcher l'interaction.

Fiddle

<div class="iframe-wrap"> 
    <iframe src="http://www.yahoo.com" width="300" height="200"> 
    </iframe 
</div> 


.iframe-wrap { 
    position: relative; 
} 
.iframe-wrap::after { 
    content: ""; 
    display:block; 
    height: 100%; 
    width: 100%; 
    position: absolute; 
    top: 0; 
    left: 0; 
} 
1

Il n'y a pas vraiment de façon de le faire. Le navigateur ne reconnaît pas le concept de "modifier" le contenu d'un cadre - tout ce qu'il sait, c'est qu'il affiche une page.

Si vous souhaitez empêcher l'utilisateur de modifier un document Google Documents, utilisez les fonctionnalités d'autorisation fournies par Google Documents pour éviter toute modification. Le fait que ce soit dans un cadre ne change rien!