Found some really old stuff for Navigator 3, but it just set up a frame level property that was stored as the page was being created.
Don't know if this is what you are aiming at, but here's a stab:
main.html<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "[link|http://www.w3.org/TR/html4/frameset.dtd|http://www.w3.org/T...frameset.dtd]">
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-1' />
<title>Main</title>
<script language='JavaScript' type='text/javascript'>
function justForGrins(myparam) {
alert(myparam);
}
</script>
</head>
<frameset border="3" rows="50%,*">
<frame src="framea.html" name="bodya"
frameborder="1" marginheight="80" marginwidth="120" />
<frame src="frameb.html" name="bodyb"
frameborder="1" marginheight="80" marginwidth="120" />
</frameset>
</html>
framea.html<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-1' />
<title>Frame A</title>
<script language='JavaScript' type='text/javascript'>
function tryThis(obj) {
obj.document.frames.parent.justForGrins("fred was here");
alert(obj.document.frames.parent.window);
}
</script>
</head>
<body>
Frame A Contents
<form name='myform' action='framea.html'>
<input name='fred' type='button' value='say' onclick='tryThis(this);' />
</form>
</body>
</html>
frameb.html<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-1' />
<title>Frame B</title>
</head>
<body>
Frame B Contents
</body>
</html>