opera sucks
mike
Status: Contributor
Joined: 08 Oct 2004
Posts: 71
Reply Quote
apparently opera doesn't support the frameborder attribute. the only way to get borderless frame i could find was to add the border="0" attribute to the frameset tag. If anyone knows of a way to get valid xhtml frameset without borders in opera, please let me know. css seems to be useless.
Back to top
minck
Status: Interested
Joined: 02 Nov 2004
Posts: 39
Location: Belgium
Reply Quote
I don't think frameborder is valid, either, unfortunately for your site. I googled for it quickly and got this thread, which might or might not be of some help: cutephp.com/forum/lofiversion/index.php/t1940.html
Back to top
mike
Status: Contributor
Joined: 08 Oct 2004
Posts: 71
Reply Quote
when you place framerborder="0" in each frame tag it is valid xhtml.

that thread said pretty much what i though.

my original file was fine and works in both firefox and msie. just not opera for some reason, they do not support frameborder. so much for standards...

:: Code ::
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Blah</title>
<meta name="MSSmartTagsPreventParsing" content="true" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<frameset rows="85,*">

  <frame src="/top.html" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" noresize="noresize" />

  <frame src="/bottom.html" marginwidth="0" marginheight="0" noresize="noresize" scrolling="yes" frameborder="0" />

<noframes>

<body>
<p>Your browser does not support frames.<br />To obtain one that does please go <a href="http://www.mozilla.org">here</a>.
</body>
</noframes>
</frameset>

</html>

Back to top
jeffd
Status: Assistant
Joined: 04 Oct 2003
Posts: 594
Reply Quote
I've worked on that problem extensively, and there is no solution to the border issue that I know of. You cannot have a valid XHTML or HTML 4 frameset page that will not display a border cross browser.

In IE 5.5, Opera, and maybe Safari, frameborder="0" without border="0" gives a border.

I can't remember what IE 6 does.

I was in process of switching to xhtml frameset for a site when I found this out.

CSS does not handle frames at all because frames are deprecated, the W3C wants you to not use them, so they didn't give anything to CSS to support frames, or make them look nicer. Iframes, yes, but not Frames.
Back to top
mike
Status: Contributor
Joined: 08 Oct 2004
Posts: 71
Reply Quote
well by simply adding in border="0" to the frameset tag, it works on everything. so i guess this is a case in which to say screw validation. it works on msie, firefox, and opera. that's good enough for me. If only opera wasn't such a b##ch, it would work in msie6 and gecko in valid form. oh well.

:: Code ::
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>Blah</title>
<meta name="MSSmartTagsPreventParsing" content="true" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<frameset rows="85,*" border="0">

  <frame src="/top.html" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" noresize="noresize" />

  <frame src="/bottom.html" marginwidth="0" marginheight="0" noresize="noresize" scrolling="yes" frameborder="0" />

<noframes>

<body>
<p>Your browser does not support frames.<br />To obtain one that does please go <a href="http://www.mozilla.org">here</a>.
</body>
</noframes>
</frameset>

</html>

Back to top
jeffd
Status: Assistant
Joined: 04 Oct 2003
Posts: 594
Reply Quote
:: Quote ::
so i guess this is a case in which to say screw validation. it works on msie, firefox, and opera. that's good enough for me

Keep in mind frameborder="0" alone also doesn't work in IE 5x. But yes, really don't worry about frame validation, I don't use any doctype on my framed pages, it's just a game, the W3C doesn't like frames, they don't want you to use them, so there's absolutely no reason to then also use the stuff they pretend you should use while they deliberately made those validating methods not work. So don't use validation on frames, it's a waste of time.

Just use clean, simple html, no doctype, it works perfectly on all browsers, use border="0" and be happy, that's what I do.

then if one day you want to dump the frames, you can make a real validating page. That's what we did on this site, well, it was iframes, which are only allowed in XHTML 1.0 transitional, but when we dumped the iframes and went for a full 3 column div layout, we also switched it to xhtml 1.0 strict, why not? Except for the document.write javascript issue we'd be delivering the main site pages as mime type application/xhtml+xml, but we can't, but if you validate them you'll see they validate with the correct mimetype, that's a little trick, we send only w3c etc those mimetypes.

With a bunch of work, we've also finally gotten the forums I think to validate too, HTML 4.01 transitional, since we can't control fully the quality of user input there's no reason to go XHTML, phpBB doesn't have very good character replacement yet.

:: Quote ::
OPERA SUCKS

I totally agree, I think Opera is a joke, they had their chance and they blew it. I get nothing but display errors on various pages I've made over the last few years, all of which work fine in IE and Mozilla and usually Safari/Konqueror, and those idiots at Opera actually expect web developers to spend their time debugging a browser display glitch that will be seen by something like 3 people a week on a site with 20,000 page views a week? Give me a break. Opera was the second best option out there in 2000, now it's number 4, so they'd better
a: drop their stupid prices to something people might pay, like $9.99
b: stop implementing all these stupid extra junk features when it still doesn't even correctly display tables consistently.
Back to top
Display posts from previous:   

All times are GMT - 8 Hours