2009-10-02 9 views
0

J'ai essayé beaucoup de façons, mais pas d'entre eux ont travaillé. Par exemple que l'on travaille:Jquery - Ajout d'une fonction à un élément dans Iframe?

  $('#iframeid').ready( 
     function() 
     { 
     alert('Hello'); 
     } 
    ); 

mais ne explique pas (alertes bonjour mais ne se concentrent pas.)

 $('a:link').click(
    function() 
    { 
     alert('Hello'); 
     var iframeRef = document.getElementById("iframeid"); 
     $(iframeRef).focus(); 
    $(iframeRef).contents().find("#smthing").focus(); 
    }); 

Aidez-moi à travailler dehors s'il vous plaît.

+0

vous ne pouvez pas accéder à un iFrame affichant un autre domaine. – jantimon

Répondre

0

Ce que vous essayez d'accéder est d'accéder à un autre document. La plupart (sinon tous) les navigateurs bloquent ceci, car c'est un problème de sécurité. Avoir des scripts charger et lire le contenu d'autres sites est ... bien ... mal.

0

Pour des raisons de sécurité, vous ne pouvez pas accéder à d'autres domaines dans les iframes avec Javascript. Il peut même y avoir des problèmes avec les iframes du même domaine dans certains navigateurs.

Si possible, j'éviterais l'utilisation des iframes dans la mesure du possible. Si vous avez le contenu HTML, vous pouvez l'ajouter en ligne avec un div avec overflow:auto pour obtenir le même effet. En note, pourquoi utilisez-vous document.getElementById("iframeid")? Vous devez savoir que vous pouvez faire $('#iframeid') dans jQuery, puisque vous le faites sur la ligne suivante.

0

La règle Same origin limite l'accès à un autre domaine chargé dans une propriété iframes à partir de javascript.

Questions connexes