FRAMESET with ROWS='100%,*' - need explanation, Need to understand FRAMSET created |
FRAMESET with ROWS='100%,*' - need explanation, Need to understand FRAMSET created |
robertl |
Oct 25 2016, 05:39 PM
Post
#1
|
Group: Members Posts: 2 Joined: 25-October 16 Member No.: 24,903 |
Hello,
I have been put in charge of some existing HTML, which will be updated to support HTML5. One of the HTML files contains the following set of tags: <FRAMESET ROWS='100%,*' ONLOAD='initPage();'> <FRAME NAME='AppWindow' SRC='myAppName.html' ONLOAD='getCurrentDefaultFBColor()';> <FRAME NAME=Controller SRC=" ". </FRAMSET> I do not understand the use of ROWS='100%,*' and how the 2 FRAMES would then be displayed. When I execute this HTML, all I see is contents of myAppName.html being displayed. Can anyone tell me the use of the 2nd FRAME? Since HTML5 does not support FRAMESET nor FRAME, I need to determine what I should be using instead. Thanks in Advance, Rob |
Christian J |
Oct 25 2016, 08:47 PM
Post
#2
|
. Group: WDG Moderators Posts: 9,653 Joined: 10-August 06 Member No.: 7 |
I do not understand the use of ROWS='100%,*' and how the 2 FRAMES would then be displayed. When I execute this HTML, all I see is contents of myAppName.html being displayed. The * value is used for relative lengths, together with 100% my guess is that it resolves to zero. See also http://www.htmlhelp.com/reference/html40/f...s/frameset.html QUOTE Can anyone tell me the use of the 2nd FRAME? Judging from its NAME value it seems to load a "controller" page, whatever that means. QUOTE Since HTML5 does not support FRAMESET nor FRAME, I need to determine what I should be using instead. Technically you can still use a HTML4 frameset file, and let it load HTML5 files. But since framesets have always been unpractical it's best to avoid using them. What to use instead may depend on the contents of the framed pages, and the purpose of the frameset. |
pandy |
Oct 25 2016, 09:23 PM
Post
#3
|
🌟Computer says no🌟 Group: WDG Moderators Posts: 20,730 Joined: 9-August 06 Member No.: 6 |
In practice an asterisk for only one row/column means "the rest". I don't think this was ever documented in a spec, but AFAIK all browsers do it like this, or at least they did. Normally you would have a fixed height for the upper frame, for instance rows='200,*'. Then you would get a 200 pixels high upper frame, maybe used for navigation, and the lower frame would take up the rest of the height of the browser window.
As used now the purpose must be to create a hidden frame. What the intended use is is hard to say since there is no page loaded in it. Back in the day it was common to place background music in such a hidden frame so it would play throughout the whole site without interruption as links were clicked. I think that if you look at the bottom of the browser you'll see the border between the frames and you should be able to grab it and drag it up so you can see the lower empty frame. |
Christian J |
Oct 26 2016, 07:22 AM
Post
#4
|
. Group: WDG Moderators Posts: 9,653 Joined: 10-August 06 Member No.: 7 |
|
pandy |
Oct 26 2016, 07:28 AM
Post
#5
|
🌟Computer says no🌟 Group: WDG Moderators Posts: 20,730 Joined: 9-August 06 Member No.: 6 |
Does that even work? Didn't think it did.
|
robertl |
Oct 26 2016, 10:20 AM
Post
#6
|
Group: Members Posts: 2 Joined: 25-October 16 Member No.: 24,903 |
All,
That you for your feedback. The purpose of the FRAMESET is to 'prototype' a generated HTML page. We have a utility that among other languages, it generated HTML code. Within the utility you can select 'prototype', and the HTML that has been generated is visually displayed using these HTML FRAMESET/FRAME statements. When this prototyping occurs, I am able to see whatever HTML is pointed to by 'myAppName.html' in the 1st FRAME. As pandy pointed out, there is a border at the bottom of the browser, and if I drag that up I now see what resembles the directory content of the location of my 'myAppName.html' file. I cannot perform 'view:source' on this in the browser, since there is no HTML source associated with it. Still, I don't know why this 2nd FRAME exists. Looking at function initPage(), which is in 'myAppName.html', it is only responsible for firing Help or closing the App. If I am to replace the use of FRAMESET and FRAME, what would I use? |
Christian J |
Oct 26 2016, 03:24 PM
Post
#7
|
. Group: WDG Moderators Posts: 9,653 Joined: 10-August 06 Member No.: 7 |
As pandy pointed out, there is a border at the bottom of the browser, and if I drag that up I now see what resembles the directory content of the location of my 'myAppName.html' file. I cannot perform 'view:source' on this in the browser, since there is no HTML source associated with it. That might be the server's default directory listing, but I can't reproduce it on my test server. My browsers just show a white space and an "about:blank" URL. It could also be a custom directory listing generated by a server-side script (in turn perhaps loaded in the frame by javascript), but then you should be able to view source and copy its URL. QUOTE Still, I don't know why this 2nd FRAME exists. Me neither. There's no documentation? QUOTE If I am to replace the use of FRAMESET and FRAME, what would I use? If the second frame is not used you might remove the entire frameset and put the two onload events somewhere else, probably in myAppName.html. The latter in turn requires minor changes in the script, since you can't use two onload events at once (you might use two addEventListener instead). |
pandy |
Oct 26 2016, 09:44 PM
Post
#8
|
🌟Computer says no🌟 Group: WDG Moderators Posts: 20,730 Joined: 9-August 06 Member No.: 6 |
If I am to replace the use of FRAMESET and FRAME, what would I use? If this is all you have I'd say just get rid of the frames and use the pages loaded in the top frame as they are. Chances are the links won't use target and that it will work straight off. But I'm a little confused. Do you have a site that's already based on this template? I get the feeling you don't. If so, what's the point of using the utility that generates this at all? |
Lo-Fi Version | Time is now: 19th April 2024 - 08:04 PM |