2009-12-09 9 views

Répondre

2

Il n'y a pas de méthode de getSelection pour l'objet de document dans IE, vous devez utiliser l'objet de sélection à la place. Pourquoi il est nécessaire de vérifier iframeWindow.getSelection ou iframeWindow.document.selection?

var selText; 
var iframeWindow = document.getElementById('iView').contentWindow; 
if (iframeWindow.getSelection) 
    selText = iframeWindow.getSelection()+""; 
else if (iframeWindow.document.selection) 
    selText = iframeWindow.document.selection.createRange().text; 
+0

pourquoi? – samuel

+0

Vous vérifiez la fonctionnalité existe, qui est essentiellement une vérification du navigateur. Si le navigateur ne supporte pas la méthode, ces instructions retourneraient false et le script ne s'exécuterait pas - si les contrôles n'étaient pas là et que le navigateur ne supporte pas la méthode, une erreur est levée. Vous pouvez également utiliser une instruction try/catch, mais c'est généralement la méthode defacto de test de fonctionnalité. –

+1

@samuel: Ceci est une réponse parfaitement bonne, mais à peu près identique à un couple trouvé dans l'autre question que vous avez mentionnée (http://stackoverflow.com/questions/1471759/how-to-get-selected-text-from-iframe -avec-javascript), alors comment cela vous a-t-il donné de nouvelles informations? –

Questions connexes