Re: Extending URL syntax for framesets?

Holger Wahlen (wahlen@ph-cip.Uni-Koeln.DE)
Sat, 2 Aug 1997 21:50:22 +0200


Date: Sat, 2 Aug 1997 21:50:22 +0200
Message-Id: <199708021950.AA19730@jupiter.ph-cip.Uni-Koeln.DE>
To: www-html@w3.org
From: wahlen@ph-cip.Uni-Koeln.DE (Holger Wahlen)
Subject: Re: Extending URL syntax for framesets?

Even though my original concerns about problems arising from
the use of _parent have disappeared because they were based
on a wrong assumption, I think the problem is still there
with the solution Jordan mentioned, and meanwhile I've even
found a much simpler example where _self brings us in trouble
already.

Imagine we have this definition in frameset.html:
	<FRAMESET ROWS="50,*">
		<FRAME SRC="logo.gif">
		<FRAME SRC="page1.html">
	</FRAMESET>,
and there's the link
	<A HREF="page2.html" TARGET="_self">next page</A>
in page1.html. Following that link leads us to a frameset
instance that contains the logo in the upper frame and the
contents of page2 in the lower one - now the question is, how
can we define an access method for specific frameset
instances that also allows to reach this particular one? As I
said earlier, the ideas brought up for accessing frameset
instances so far have been based on some way of telling the
browser (1) "start with frameset foobar, then load page foo1
into the frame named bar1, foo2 into bar2, and so on". But
the frames here don't have any names, so how can we tell the
browser to load page2 into the lower one?

Jordan, you suggested to solve this "no name" problem simply
by adding a name attribute in the frameset definition:
	<FRAME SRC="page1.html" NAME="main">.
Indeed, that would work, but you're talking to the wrong
person there: When I want to add a link to some author's
frameset on one of my pages, I have to do with the names *he*
has chosen. In the example above, there's no need for the
author to add a name to the second FRAME, so he probably
won't do it - and I see no way for me to refer to the frame
then.

I suppose this means that (1) isn't the best approach to the
general problem. Maybe something like (2) "start with
frameset foobar, but take foo1 instead of the first SRC
defined there, foo2 for the second, and so on" would work?
(There's some consideration necessary to make that deal with
nested framesets correctly.) This leads to additional typing
because I have to give a source for all frames, not just the
ones with NAME attributes, but I haven't found an example yet
where this approach fails; for instance, the problem above
would be solved by telling the browser, "take the definition
from frameset.html, then load logo.gif in the first frame and
page2.html in the second".

Any examples where (2) doesn't work?

As to the syntax, I can think of something similar to what
E. Stephen Mack suggested, to have additional elements inside
a link; to express (2), that would mean the link would
basically just be a modified copy of the frameset
definition(s). A link to an instance of a nested frameset
could look like this, for instance:
	<A HREF=noframes.html>
		<FSET SRC=frameset.html>
			<FRM SRC=frame1.html>
			<FSET SRC=subset.html>
				<FRM SRC=subframe1.html>
				<FRM SRC=subframe2.html>
			</FSET>
			<FRM SRC=frame2.html>
		</FSET>
		finally, the link text
	</A>
(Note that the A HREF allows the possibility to have a
separate link for no-frame browsers.) Doesn't really look
very pleasant, I know - better suggestions?
____  |__|   / Holger   //       mailto:wahlen@ph-cip.uni-koeln.de  ____
      |  |/|/  Wahlen  //  http://www.ph-cip.uni-koeln.de/~wahlen/