From:  jeffry killen <jekillen@prodigy.net>
Date:  16 Jun 2009 08:53:41 Hong Kong Time
Newsgroup:  news.mozilla.org/mozilla.dev.web-development
Subject:  

Strange behavior

NNTP-Posting-Host:  63.245.208.166

Hello;

I am working on javascript code that does automatic scaling of  web 
content based on the value
presented for screen.width.

I have written code to scale images that works.  But in a frame set 
file if I call the scaling function
I wrote from the onload attribute within a frameset tag that tries to 
set the rows attribute of the frameset
tag, nothing happens. No errors in console, but I have written a string 
to collect test values for rows
that is shown in an alert dialog.  The value that the alert is supposed 
to produce is "rows :"+rows.
It  produces nothing, not even the string "rows :".

To minimize the amount of space here, here is just
the relevant code:
  case 'frameset':
                     elementsToScale = 
document.body.getElementsByTagName(tag);
                     for(var i = 0; i < elementsToScale.length; i++)
                        {
                         var rows = 
elementsToScale[i].getAttribute("rows");
                         var cols; //= 
elementsToScale[i].getAttribute("cols");
                         testOut += 'rows: '+rows+"\n";
                             rows *= xScale;
                             elementsToScale[i].setAttribute("rows", 
Math.round(rows)+",*");
                             //elementsToScale[i].setAttribute("cols", 
Math.round(cols)+",*");
                        }
                     alert(testOut)
                     break;

I just saw 'document.body. Should that be document.frameset?....there's 
more:

changed to
case 'frameset':
                     elementsToScale = document.frameset;
                     var rows = elementsToScale.getAttribute("rows"); // 
<<  error points to this line
                     //var cols = elementsToScale.getAttribute("cols");
                     testOut += 'rows: '+rows+"\n";
                     rows *= xScale;
                     elementsToScale.setAttribute("rows", 
Math.round(rows)+",*");
                      //elementsToScale[i].setAttribute("cols", 
Math.round(cols)+",*");
                     alert(testOut) // alert is not called
                     break;

javascript console output:
Error: elementsToScale has no properties
Source File: /dev_projects/next_site/libJs/lib_SCALER.js
Line: 33

These are fine points and I don't know where to look in published
specs for.
Thank you for any info, etc.