473,699 Members | 2,680 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Best way to blow off Netscape 4 users

I'm going to say something now that may seem to completely contradict
a previous post of mine, in which I basically said that taking a "who
cares" attitude about certain browsers (because of their non-standard
CSS rendering) makes no sense.

Well, you have to draw the line *somewhere*... and contradictory or
not, I've decided that I've suffered with Netscape 4 for long enough.
Coding workarounds for its brain-dead CSS rendering has literally
doubled my development time on some projects. It's the only browser I
can truly say that I *hate*, and now that its market share seems to
have slipped below one percent (I hope!), I'm saying "enough."

So I'm planning to simplify my CSS and JavaScript files by stripping
out most or all of the NS4-specific bloat, and never find out what
gibberish it makes out of my pages by the simple method of not
viewing them myself in NS4.

However, I may leave my JavaScript browser-sniffer in place. My
question is, what's the best way to blow off NS4 users? Here are
some options that I've thought of:

1. Do nothing special (even get rid of the sniffer).
Pros: Simplest thing to do. They're going to see garbage
anyway, and they're probably used to it.
Cons: They don't know that their browser is crap, and they'll
blame me (or my clients).

2. Put up a JavaScript alert box on every page load, saying that my
site doesn't support NS4, and did they know they can get a modern
browser for free?
Pros: -Performs a public service - educates them a little.
-Lets them know I know what's happening (i.e. I'm not
just oblivious/incompetent).
Cons: -Might make pages unusable (too annoying) that might
otherwise be readable even in NS4.
-I'm not sure, but I don't think I can put a link (to
a browser upgrade site) in an ordinary JS alert.
I could certainly generate a special little window
(pseudo-"alert") with a link, but that would be work.
-If my sniffer screws up, I may end up annoying
non-NS4 users.

3. Use JavaScript to write some bold red text on every page with a note
(as in #2 above) and a link to some kind of browser upgrade site.
Pros: A little less harsh than the other options.
Cons: -More work for me. Do I have to check each page in NS4
to see that the warning is actually visible? Even if
it is, will I be able to restrain myself from "fixing"
each page after I see what garbage it looks
like in NS4?
-If my sniffer screws up, I may end up annoying
non-NS4 users.

Opinions? How do you handle this?
Jul 20 '05
16 2221
Jonas Smithson wrote:
So I'm planning to simplify my CSS and JavaScript files by stripping
out most or all of the NS4-specific bloat, and never find out what
gibberish it makes out of my pages by the simple method of not
viewing them myself in NS4.
What the others said. Hide your CSS from NS4 and write decent,
well-structured HTML. See my site for an example:

http://tranchant.plus.com/

If you view it in Firefox, click on the little icon with an "A" on it on
the left edge of the status bar, and select Basic Theme. That's what my
NS4 viewers see.

Implementation hint: Firefox displays this icon if you give the
stylesheet a title in the <link> element.
However, I may leave my JavaScript browser-sniffer in place.
Don't. Javascript is a really poor way to browser-sniff. The least poor
way is server-side testing of the user-agent string, but even that is
notoriously unreliable. I do it only to detect IE to fix a couple of
things for its poor users, like <abbr>.
My
question is, what's the best way to blow off NS4 users? Here are
some options that I've thought of:

1. Do nothing special (even get rid of the sniffer).
Other than make sure the CSS call is hidden from NS4 (via @import, or
using media="screen,p rojection"), that's the right thing to do.
2. Put up a JavaScript alert box on every page load, saying that my
site doesn't support NS4, and did they know they can get a modern
browser for free?
No. Extremely annoying, and some people may be using public computers
that they can't upgrade. They'll leave your site pretty quickly.
3. Use JavaScript to write some bold red text on every page with a note
(as in #2 above) and a link to some kind of browser upgrade site.
See 2.
Opinions? How do you handle this?


See above. Sounds like you need to rely less on Javascript, too.

--
Mark.
Jul 20 '05 #11
Jonas Smithson <sm************ @REMOVETHISboar dermail.com> writes:
First of all, I just tried the @import idea and immediately saw a
problem: it (naturally) doesn't block inline styles, or styles in the
head. Now I do use external styles whenever possible -- and I'd say
it's practical for about 90% of my styles. But the other 10% -- the
head and inline styles -- make a total mess when the external sheet is
blocked.
Styles in the head you can use a different hiding method for. There's
several that work on NN4, how about:
<style type='text/css'>
/*/*/
body {
break-ns4: yes;
}
/* */
</style>

You might even be able to use the same thing in an inline style <p
style='/*/*/ break-ns4: yes /* */'> but I haven't tested that because
I don't use inline styles myself on live pages.
The sidebar is an absolutely positioned element whose spatial
relationship to its parent will change without CSS. It may even appear
on an entirely different part of the page if the CSS is missing or
mangled.
If you've already checked this, my apologies, but what happens if you
increase your browser font size to somewhat larger than normal - does
the positioning relationship break?
Worse case, the reader may actually think the ancillary material
refers to a different "parent" paragraph than it actually does!
<p>This is a paragraph ... </p>
<div id="sidebar1">T his is the paragraph's sidebar</div>

<p>This is another paragraph ... </p>
<div id="sidebar2">T his is another paragraph's sidebar</div>

Or similar. That way the sidebars are close to the paragraphs without
CSS, and it's no harder than otherwise to position them close with it.
I suppose the simple retort to my example is "that's a true tabular
relationship, use a table" -- but I was trying to get away from table
code!
If it *is* true tabular relationship then use table code. It seems a
slight stretch in this case, but maybe not - URL for an example?
Or "don't put that in a sidebar" -- so I have to limit my design
options with CSS, although I didn't when using tables? Rhetorical
question: So are we to conclude that any page that requires specific
positional adjacencies as a clue to meaning can't be safely laid out
with CSS? I doubt many people here would say that. It seems to me that
many, many pages have such positional relationships!
Absolutely not, as you've guessed. However, the positional
relationships are *initally* in the HTML, in a good design. CSS
positioning may be used to _reinforce_ the relationship, but not to
initially indicate it.
I can understand Brian's objections to my suggesting too obtrusively to
readers anything about their browser: whenever I've visited a site that
said "This site best viewed in... [insert browser name]" my reaction
was always that the designer was both arrogant and clueless. So it's a
little strange that I'm contemplating something like that now. (I
emphasize "contemplating" ; I haven't decided, that's why I'm posting
here.) But if a Netscape 4 user may actually *misconstrue the meaning
of the content on a page* because the positions have been scrambled,
might it not be the lesser of several evils to warn them or even block
the page to them entirely?
There's a concept in web design called 'linearisation' . It means that,
when CSS is disabled, or tables are disabled (since it's important for
both layout methods), or both, the page still makes sense. If your
page doesn't do this then you have your HTML elements in the wrong
order and you need to fix that.
Regardless of whether I...
1. ...block most of the CSS with @import (and have the unstyled HTML
unpredictably blend with the inline styles that I can't block), or
Or move the inline styles into the stylesheet
<p style='...'> becomes <p id='...>
p#... {
...
}
*Either way* I run the risk of users seeing adjacencies that could be
highly misleading. This is a question of *meaning*, not fonts and
CSS should not be used as the sole indicator of meaning in the same
way that colour shouldn't.
backgrounds. That's why it seems like some kind of warning to NS4
visitors -- yes, on every page -- might be the least obnoxious
solution. (?)
No, fixing the HTML code so that it doesn't require CSS to make sense
is the *least* obnoxious solution. Give a URL for a problem case and
we might be able to make suggestions.
(P.S. Did I mention that I *hate* Netscape 4?)


Yes.

--
Chris
Jul 20 '05 #12
"Jonas Smithson" <sm************ @REMOVETHISboar dermail.com> wrote in
comp.infosystem s.www.authoring.stylesheets:
Although, BTW, a *properly written* sniffer is not
as unreliable -- for this purpose, anyway -- as some people seem to
think.


Yes, and a green rhinoceros would be quite an attraction in the zoo.

The problem is, they are both mythical.

--
Stan Brown, Oak Road Systems, Tompkins County, New York, USA
http://OakRoadSystems.com/
HTML 4.01 spec: http://www.w3.org/TR/html401/
validator: http://validator.w3.org/
CSS 2 spec: http://www.w3.org/TR/REC-CSS2/
2.1 changes: http://www.w3.org/TR/CSS21/changes.html
validator: http://jigsaw.w3.org/css-validator/
Jul 20 '05 #13
"Mark Tranchant" <ma**@tranchant .plus.com> wrote in
comp.infosystem s.www.authoring.stylesheets:
Jonas Smithson wrote:
2. Put up a JavaScript alert box on every page load, saying that my
site doesn't support NS4, and did they know they can get a modern
browser for free?


No. Extremely annoying, and some people may be using public computers
that they can't upgrade. They'll leave your site pretty quickly.


Agreed -- about as annoying as that voice at the checkout reminding
me after I scan EVERY DAMN ITEM, "Please place the item in the bag."

People who have Netscape 4 on their own computers already know that
later browsers are available, and they know how to find them if they
want them. And I echo Mark's comments about public computers.

--
Stan Brown, Oak Road Systems, Tompkins County, New York, USA
http://OakRoadSystems.com/
HTML 4.01 spec: http://www.w3.org/TR/html401/
validator: http://validator.w3.org/
CSS 2 spec: http://www.w3.org/TR/REC-CSS2/
2.1 changes: http://www.w3.org/TR/CSS21/changes.html
validator: http://jigsaw.w3.org/css-validator/
Jul 20 '05 #14
Neal wrote:
Brian wrote:
Neal wrote:

How about something styled display: none?
Why? What is behind this desire to remind users that their
browser is, according to the author, sub-standard?


Hey, not MY desire.


Sorry, Neal. I was on a bit of a tirade last night, wasn't I? My
apologies, it was not even your idea. :-/
if you're looking to send content to no-CSS viewers, that's it.


As is so often the case, the question should be "how do I...?" but
"should I...?"

--
Brian (remove ".invalid" to email me)
http://www.tsmchughs.com/
Jul 20 '05 #15
Jonas Smithson wrote:
Neal wrote:
How about something styled display: none? NN4 will see it, as the
CSS is imported. Only other folks to see it will really be Lynx.
That sounds clever;


You'll look clever, too, the next time the Googlebot indexes your
site. ;-) (See my response to Neal about this.)
(Although, BTW, a *properly written* sniffer is not as unreliable
Oh? Since js is optional, and ua strings can be forged, how can such a
thing be reliable?
It's true that most sniffers are unnecessary even for JavaScript's
own purposes, since object detection usually works better,
Object detection always works better in js.
many sniffers are badly coded -- but mine isn't.
Ok, genius, let's see your brilliant code! I wait with baited breath. :-)
First of all, I just tried the @import idea and immediately saw a
problem: it (naturally) doesn't block inline styles, or styles in
the head.
That's true. I didn't mention it, because I use neither of those
techniques. You may need to ditch any advanced inline css to protect
NS 4 from itself.
I'm starting to rely on CSS-positioning for entire page layouts
(not just for sections within an outer table), and that opens up a
whole other can of worms if most or all of the CSS is blocked.
I do all layout in CSS for my sites. All of it. I write in HTML
4/strict, which offers little presentation markup. NS 4 users get a
plain site, with no floats, no positioning, no styling at all. It was
the right choice for me. Only you can decide whether it's right for
your projects.
Consider the case of various main units of text which each "own" a
small ancillary sidebar, connected with CSS positioning.
Place it in a div after the paragraph, perhaps. We'd need a url to
provide more specific advice.
if a Netscape 4 user may actually *misconstrue the meaning of the
content on a page* because the positions have been scrambled,


Then you need to rethink the page. CSS is optional no matter what the
browser. Your content should be comprehensible without it. If it is
not, then rethink your markup.

--
Brian (remove ".invalid" to email me)
http://www.tsmchughs.com/
Jul 20 '05 #16
.oO(Jonas Smithson)
Brian wrote:
it is trivial to simply hide all CSS from it.
@import "hidefromns4.cs s";


I hadn't thought of that. Do you mean fetch *all* my external styles --
i.e. my main external stylesheets -- via @import rather than via <link
rel... etc. [...]


You can also stay with the link-element and an media-attribute. NN4 only
recognizes media='screen'.

From time to time I add a simple stylesheet only for NN4 (could be
written in JSSS for example), but the default stylesheet for all other
browsers is written according to the CSS 2.1 standard without any hacks.

Micha
Jul 20 '05 #17

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
1589
by: Jeff Johnson | last post by:
Hi Everybody, I have a function that works great in IE but fails in NN. Would someone please give me some insight as to how to correct this: function init(){ var oFrame = parent.frames; if (typeof(oFrame.divSummary) != 'undefined'){***** fails here! updateContent(oFrame);
9
2550
by: rez | last post by:
I find it rather frustrating that Netscape 4.x is "no longer supported:" http://help.netscape.com/products/client/communicator/reflib.html Same seems true with IE. How am I ever supposed to make my scripts multi-browser, when they don't bother giving me basic documentation?
15
7880
by: Laurens | last post by:
Hi, Which browser has the best CSS paged media support? I'm about to write a business plan, which needs to be printed on paper to be presented to the bank. Now I cringe at doing this in Word, as I'm far more comfortable with hand-coding HTML and CSS(though I've never used the print-specific CSS elements).
131
21658
by: Peter Foti | last post by:
Simple question... which is better to use for defining font sizes and why? px and em seem to be the leading candidates. I know what the general answer is going to be, but I'm hoping to ultimately get some good real world examples. Fire away! :) Regards, Peter Foti
5
1724
by: bulk88 | last post by:
I know Netscape 4 is Ancient and horrible but I need to make my site Netscape 4.8 compatible. But how can I rewrite HTML code/do minor DTHML on my site with Netscape 4/4.8, document.write works, but I cant remove anything with it. Mostly what I need to do is remove/disable a embed or object tag if a user clicks a button, and write it back in if they click another. IE 4's DOM is so so so so much better and so much more Dom Level 1.
4
1815
by: Nariak | last post by:
Dear friends of programming! the script below only works with MSI and Opera but not with Netscape 7.x and Mozilla 1.x! What is wrong? Please help me! Thanks Ralf
3
1588
by: Jason | last post by:
We have an Extranet with one customer with 20,000 users that has, unfortunately, standardized on Netscape 4.77 for the entire company. We are in the process of rewriting this application from Java to .NET and, of course, would not like to be constrained by the Least Common Denominator (LCD) this particular company represents. Question: What is the best way to handle this without having to double the development effort? For example, MVC...
56
5170
by: Zytan | last post by:
Obviously you can't just use a simple for loop, since you may skip over elements. You could modify the loop counter each time an element is deleted. But, the loop ending condition must be checked on each iteration, since the Count changes as you delete elements. I would think it is guaranteed to be computed each time, and not cached. So, is this the best way?
7
1263
by: jim | last post by:
Let's just say that I am foolish enough to code and distribute a free app to the general public over the web. What is the best (cheapest, smallest bandwidth, easiest to code) way to publish updates to my .Net application? I'd like to save bandwidth by only updating the changed portions if possible. Thanks!
0
8615
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9173
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9033
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8911
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
4375
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
4627
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3057
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
2345
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2009
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.