2010-03-03 1 views
3

J'ai une page avec six ifrmaes à l'intérieur. Chaque cadre a un identifiant individuel, il est donc facile de détecter le cadre. Tous ces cadres ont commono src. Et chaque source que je misÀ partir de quelle alerte Frame se produit?

window.onload=function(){ 
    alert(' this has been alerted from Iframe with id#"); 
} 

Comment puis-je connaître l'ID du cadre à partir duquel l'alerte est en alerte?

Merci.

Répondre

2

Vous pouvez le faire comme ceci:

Frameset:

<html> 
    <body> 
    <iframe src="frame.html" id="frameID1" name="frameName1"></iframe> 
    <iframe src="frame.html" id="frameID2" name="frameName2"></iframe> 
    <iframe src="frame.html" id="frameID3" name="frameName3"></iframe> 
    <iframe src="frame.html" id="frameID4" name="frameName4"></iframe> 
    <iframe src="frame.html" id="frameID5" name="frameName5"></iframe> 
    <iframe src="frame.html" id="frameID6" name="frameName6"></iframe> 
    </body> 
</html> 

Cadre:

<html> 
    <head> 
    <script type="text/javascript"> 
     window.onload=function() { 
     alert('This has been alerted from frame with id#: ' + GetFrameID(this.name)); 
     } 

     function GetFrameID(frameName) { 
     var frames = top.document.getElementsByTagName('iframe'); 
     if (frames != null) { 
      for (var i = 0; i < frames.length; i++) { 
      if (frames[i].name == frameName) return frames[i].id; 
      } 
     } 
     return null; 
     } 
    </script> 
    </head> 
    <body> 
    </body> 
</html> 
+1

Merci beaucoup. Cela a fonctionné parfaitement. Je n'ai jamais pensé que je pouvais appeler la fenêtre par le nom de l'iframe. Merci une fois de plus. – Hoque