Closed Bug 25909 Opened 25 years ago Closed 13 years ago

Frame State Bookmarking (frameset bookmarks)

Categories

(SeaMonkey :: Bookmarks & History, enhancement, P3)

enhancement

Tracking

(Not tracked)

RESOLVED WONTFIX
Future

People

(Reporter: mark, Unassigned)

References

()

Details

(Whiteboard: [Hixie-P0][Ben-P1])

Problem
Bookmarking a framed document bookmarks the origional state of the frame, as
defined on the frameset definition page.

Proposed Solution
Slightly modify the Bookmark file to support frame-based bookmarking.

Description:
The current bookmark file used by Netscape and Mozilla is a catalog of
Definition Lists, Terms and Descriptions.  For the majority of users, Definition
Descriptions are probably not being used.  A sample section of the bookmark file is:

<DL><p>
    <DT><H3 ADD_DATE="916354466" ID="NC:BookmarksRoot#$ca6735f7">Personal
Bookmarks</H3>
    <DT><A HREF="http://www.irs.gov/" ADD_DATE="949341532"
LAST_MODIFIED="949341585" SHORTCUTURL="irs">IRS - The Digital Daily: Income Tax
Forms, Instructions, Publications, Regulations, and other stuff</A>
<DD>This place is daBomb, Baby!
</DL><p>

Frame Definition:

We create a sample frame page:

+-----+-----+
|  1  |  3  |
+-----+     |
+  2  |     |
+-----+-----+

The original state of this document would be:

<HTML>
<HEAD>
<TITLE>A simple frameset document</title>
</HEAD>
<FRAMESET cols="20%,80%">
  <FRAMESET rows="100,200">
    <FRAME src="contents_of_frame1.html">
    <FRAME src="contents_of_frame2.gif">
  </FRAMESET>
  <FRAME src="contents_of_frame3.html" name="frame3">
<NOFRAME>
Upgrade to Mozilla!
</NOFRAME>
</FRAMESET>
</HTML>

We will use this state to demonstration our solution because it is both simple
and includes nested framesets, for those interested, this is the same frameset
as defined on page 205 of the HTML 4.1 Documentation, with the exception of
naming Frame 3. Visiting this page and bookmarking it would not be a problem if
we did nothing in the frames.

First example, upon visiting the site for the first time, we bookmark it, since
the state has not changed from the original state defintion, the bookmark file
would reflect this as:

<DL><p>
    <DT><H3 ADD_DATE="916354466" ID="NC:BookmarksRoot#$ca6735f7">Personal
Bookmarks</H3>
    <DT type="page"><A HREF="http://www.someplace.html/" ADD_DATE="949341532"
LAST_MODIFIED="949341585" SHORTCUTURL="someplace">A simple frameset document</A>
</DL><p>

Note the addition of the "type" attribute to the DT tag.

ASSUMPTION: In Frame one, we clicked on a link which changed frame3 to:
new_frame3_contents.html

Since the state of the original document has changed, the bookmark tag is
changed as well, the proposed tag would be:

<DL><p>
	<DT><H3 ADD_DATE="916354466" ID="NC:BookmarksRoot#$ca6735f7">Personal
Bookmarks</H3>
	<DT type="framedef"><A HREF="http://www.someplace.html/" ADD_DATE="949341532"
LAST_MODIFIED="949341585" SHORTCUTURL="someplace">A simple frameset document</A>
	<DL>
		<!--type="frameset" size="2"-->
			<!--type="frameset" size="2"-->
				<DT type="frame"><A HREF="http://www.someplace.html/contents_of_frame1.html"
...>Title of Frame 1</a>
				<DT type="frame"><A HREF="http://www.someplace.html/contents_of_frame2.gif"
...>contents_of_frame2.gif</a>
			<DT type="frame" name="frame3"><A
HREF="http://www.someplace.html/new_frame3_contents.html" ...>Title of NEW Frame
3</A>
	</DL>	
</DL><p>

Attributes:

Type = indicates what type of bookmark this is.
	"PAGE" defines the the src code to be a single page or an original frameset
document.
	"framedef" defines a modified frameset document.
	"frameset" defines a frameset
	"frame" defines the source to the frame.
Size = defines the size of the given frameset, indicating how many FRAMESET or
FRAME definitions should follow.  Size is the number of rows multiplied by the
number of columns for a given FRAMESET.  For example: rows="50%,50%"
cols="20%,20%,20%,40%"  should have SIZE="8"
Name = Name of the frame as defined in the original frameset document

Mozilla Functions

Bookmark menu
Using the new TYPE attribute, Mozilla can indicate different types of bookmarks
with different icons.  Additionally, Mozilla can create a submenu off the
bookmark list allowing users to select the bookmarked location or one of the
individual frames.

When the bookmarked location is selected, Mozilla loads the "FRAMEDEF" src code
and develops an internal list of frames, if the document has been modified since
it was bookmarked, Mozilla needs to compare the frameset structure to the one in
the bookmark file (size, frame names, etc) to make sure the frame definition
wasn't changed.

Once the FRAMEDEF is loaded, internally, Mozilla replaces the FRAME SRCs with
the bookmarked ones and render the page according to the new FRAMEDEF.

I've created a mocked-up graphic in Netscape to illustrate several points at:
http://www.mrmark.com/mockup.gif

Things to notice in the graphic:
1. Different Icon for a modified FRAMESET bookmark.
2. Different Icon for a FRAME document.
3. Submenu for the modified FRAMESET bookmark.
4. How the above bookmark code actually renders in Netscape (bottom of graphic).

Additional Comments:
A TYPESRC attribute can be added to the <DT> to indicate a custom icon for the
menu items.  This can be used to be compatible with MSIE 5.0's custom site
icons.  The icon location could then be edited in the Bookmark Properties.
This seems like overkill since frame-based pages are a dying breed.  Also,
doesn't the "Add Bookmark for Frame" command in the context menu already make
all this work unnecessary?
Summary: Direct Frame Bookmarking → [RFE] Direct Frame Bookmarking
Target Milestone: M20
I'm not convinced that Frames are dying as a group, but I think poorly designed 
frame pages are leaving us, which is a good thing and I for one have no 
intention of removing chapter 16 from my HTML 4.1 manual.  A part of the reason 
why Frames were criticized is because of the inability to directly bookmark a 
framed site.

1st, bookmark frame (which I can't find on my Mozilla contextual menu on Build 
2000013111 Windows) only bookmarks the individual frame which may be fine for 
some needs, but it certainly doesn't benefit the company that designed the page 
and if the user wished to then continue and use the site doesn't have 
navigational guides on the single frame page.

2nd, the same principle outline above is applicable to iFrames.  I for one would 
love to design a page around the use of iFrame to present the information, 
however, bookmarking the site, since the URL stays the same and only the iFrame 
changes state, would again take the person back to the main page and not the one 
they tried to bookmark.

My outline above can easily integrate iframes by creating a type=iframe with the 
source.
Summary: [RFE] Direct Frame Bookmarking → [RFE] Current State Bookmarking
I believe frames are going to be eradicated from XHTML 1.1.  Long term, a better
solution is simply a page which can include subpages (can XML do this yet?), or
alternatively CSS generated content.
From my understanding, Frame's and iFrames are not being eradicated from xHTML 
1.1, they are being moved to modules, per: 
http://www.w3.org/TR/xhtml-modularization/xhtml_modules.html#s_framesmodule  So, 
I still see a need for this functionality.
I think it's a better idea to set the frames while bookmarking but not change 
the bookmark each time the site is visited.  Would that be a different bug?
Move to "Future" milestone.
Target Milestone: M20 → Future
changing summary slightly to indicate this is frames related, and so it doesn't
look like a dupe of my state saving RFE: bug 41171.
Summary: [RFE] Current State Bookmarking → [RFE] Frame State Bookmarking
AFAIK, there aren't any uses of frames that aren't either (a) better done with
some other technology or (b) better not done at all. There also seems to be
little or no intent among makers of embedded/set-top/portable device makers to
support the frames module even if one is offered.

Nonetheless, it'll be a while before the GeoCities crowd sees the light, and
this feature would certainly be welcome for reducing the problems associated
with frames. It might be better, though, to make it part of a general
"frame-busting" feature. I hear w3m can make a framed site behave more or less
identically to a table or position: absolute layout. Something like that would
certainly be nice to have.
this may be true, but XHTML 1.0, the current W3C recommendation, still supports
them. as mozilla is a standards aiming browser, and not a
developer-so-and-so-feels-this-part-of-standard-such-and-such-is-dumb aiming
browser, we should create the best possible implementation of it.
IE 5 does this.
Assignee: slamm → ben
Netscape Nav triage team: this is not a Netscape beta stopper.  Can someone 
summarize this that we understand the bug better?
Keywords: nsbeta1-
can someone please explain why an iframe is any different from a frameset?

+---------------------+
|+---------+          |
||Table of | Main     |
||Contents |+--------+|
||         ||        ||
|+---------+|Article ||
| +----+    |        ||
| |    |    +--------+|
| |pict|   +---------+|
| |    |   |Copyright||
| +----+   +---------+|
+---------------------+
iframes can change other iframes right? so you could have the same problem as 
w/ framesets, right?

Nav Triage Exec Summ [attempt1]
Bookmarks are good for pages that have no interactive content.  To remember the 
state of a page all you need to do is remember where the page lives.  Old 
bookmarks are able to remember one state which is a #target if there was one 
[however they remember based on link navigation and not scrolling navigation].

For interactive content this approach will generally fail. There are two basic 
types of interactive information, frame locations and form content.  This bug 
is requesting a way for bookmark files to include descriptions of the current 
frame locations.

A simple use for this is when reading a book or publication that is composed of 
multiple files.  It is reasonable for the table of contents to shift from a 
page that has just chapters to a page that has chapters and sections for the 
current chapter.  The main content area would of course shift to the document 
that is the current chapter-section.

Currently, bookmarking such a book is likely to result in bookmarking the 
opening page of the book.
Here's the Executive Summary as requested:

Problem:
A user visits a site designed around frames, after navigating through the site, 
the user finds a page they want to bookmark.  In Mozilla, when they bookmark 
the page, the browser bookmarks the original framed design, not the modified 
framed layout, which is the "expected" result of a bookmarking.

Solution, you'll have to read the original comments I made when I created this 
feature request.  In it it gives a method to provide this feature via the 
bookmark file while adding some functionality to it without breaking the 
current bookmarking.  Currently, MSIE correctly remembers the frameset when 
bookmarking.
*** Bug 38648 has been marked as a duplicate of this bug. ***
Summary: [RFE] Frame State Bookmarking → [RFE] Frame State Bookmarking (frameset bookmarks)
Whiteboard: [Hixie-P0]
Status: NEW → ASSIGNED
Whiteboard: [Hixie-P0] → [Hixie-P0][Ben-P1]
Blocks: 104166
Paul Chen is now taking Bookmarks bugs. For your convenience, you can filter 
email notifications caused by this by searching for 'ilikegoats'.

Assignee: ben → pchen
Status: ASSIGNED → NEW
mass reassign of pchen bookmark bugs to ben
Assignee: pchen → ben
How feasible is it to implement this with bookmark groups (bug 119599)?
I do not understand the technical aspect of this bug, especially the long
description about how it is to be implemented.

What I do know is that this is expected behavior.

I don't really care if frames are bad or if w3c will remove them later.
What I do know is that /now/ there are pages I read that I want to
bookmark, and I want Mozilla to bookmark them properly.

And by properly I mean including the frameset and navbar so I can continue
to navigate from where I left off.

Hope this is solved soon. I believe I have encountered several browsers that
do this properly, including IE. It shouldn't take much for Mozilla/Netscape
to do this properly too.

Thanks. :)
better do this with some sort of script (see bug 153645)
Summary: [RFE] Frame State Bookmarking (frameset bookmarks) → Frame State Bookmarking (frameset bookmarks)
What's the big problem? The found framesets quite effective and efficient,
*except* that earlier browsers didn't bookmark them. Now I've noticed IE 5-6
does, and can't help feeling that Mozilla is a bit primitive to not be doing the
same thing.

Google Groups in the thread view is a good example of a current frames-based
page that won't be going away in a hurry.
Blocks: 210748
Mass reassign of my non-Firefox bugs to ben_seamonkey@hotmail.com
Assignee: bugs → ben_seamonkey
Product: Browser → Seamonkey
Assignee: ben_seamonkey → nobody
QA Contact: claudius → bookmarks
Hm, well, now Google Groups appears to have beem rewritten not to use frames. 
There are still some sites out there but I must admit the usefulness of this decreases all the time.
I do not think it is the goal of web browser to educate the webmasters. However, frames are part of the HTML specification, so why not support frameset bookmarking like IE does it since several version now? 

The lack of this possibility is especially annoying since it isn't possible in mozilla products to add a true bookmark using javascript either (no, opening a page in the sidebar won't help!)

This bug has been open for years, so please implement frameset bookmarking as soon as possible!
Closing as WONTFIX: GeoCities is dead and gone. These days most sites that would have used frames now use AJAX.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.