The basic problem appears to be that the original code
if (currentfr && !window.opera) {
currentfr.style.display = "block"
if (currentfr.contentDocument && currentfr.contentDocument.body.offsetHeight) //ns6 syntax
currentfr.height = currentfr.contentDocument.body.offsetHeight + FFextraHeight;
else if (currentfr.Document && currentfr.Document.body.scrollHeight) //ie5+ syntax
currentfr.height = currentfr.Document.body.scrollHeight;
}
excludes Opera from the logic that computes the frame height using browser-specific properties.
The intent seems to have been to avoid having NS, FF or IE properties applied to Opera. Unfortunately no 'generic' case is set, so Opera doesn't compute any override to the default height.
Also FFextraHeight [whatever that may be] is apparently applied in all non-IE cases; it will take some research to determine whether that is yet another blunder.