代码之家  ›  专栏  ›  技术社区  ›  Nazmul

从哪个帧发出警报?

  •  3
  • Nazmul  · 技术社区  · 15 年前

    我有一页里面有六个iframe。每个帧都有单独的ID,因此很容易检测到帧。所有这些帧都有commono-src。我设置的每个源

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

    我如何知道警报从哪个帧发出的ID?

    谢谢。

    1 回复  |  直到 15 年前
        1
  •  2
  •   Sani Huttunen    15 年前

    你可以这样做:

    框架集:

    <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>
    

    框架:

    <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>