BUG: Document.Frames Collection Does Not Support For Each Syntax

ID: Q191184


The information in this article applies to:


SYMPTOMS

When you try to enumerate through the Frames collection from Document object using VBScript's "For Each" syntax, you get the following error message:

Error: Object doesn't support this property or method


CAUSE

The Document.Frames collection does not support the functionality required for the "For Each" syntax.


RESOLUTION

Use a regular FOR loop to enumerate through the Document.Frames collection. For example, if you had the following code:


<SCRIPT LANGUAGE=VBSCRIPT>
Sub Window_OnLoad()
Dim f
For Each f In Document.Frames
MsgBox f.location.href
Next
End Sub
</SCRIPT> 
You can change this code to use the regular for loop syntax as follows:

<SCRIPT LANGUAGE=VBSCRIPT>
Sub Window_OnLoad()
Dim i
For i = 0 to document.frames.length - 1
MsgBox frames(i).location.href
Next
End Sub
</SCRIPT> 


STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.


MORE INFORMATION

Steps to Reproduce Behavior

  1. Save the following HTML as Frames.htm in a folder
    
    <HTML>
    <HEAD>
    <SCRIPT LANGUAGE=VBSCRIPT>
    Sub Window_OnLoad()
    Dim f
    For Each f In Document.Frames
    MsgBox f.location.href
    Next
    End Sub
    </SCRIPT>
    </HEAD>
    
    <FRAMESET rows="50%,*">
    <FRAME SRC="frame1.htm"></FRAME>
    <FRAME SRC="frame2.htm"></FRAME>
    </FRAMESET>
    </HTML> 


  2. Save the following HTML as Frame1.htm:
    
    <HTML>
      <HEAD>
      </HEAD>
      <BODY>
         FRAME 1
      </BODY>
    </HTML> 


  3. Save the following HTML as Frame2.htm:
    
    <HTML>
      <HEAD>
      </HEAD>
      <BODY>
         FRAME 2
      </BODY>
    </HTML> 


  4. Navigate to Frames.htm.


You will see the above mentioned error message.

Additional query words:


Keywords          : kbhtml kbIE400bug kbIE401bug kbIEObj kbScript kbIE500bug 
Version           : 
Platform          : 
Issue type        : kbbug 

Last Reviewed: April 9, 1999