Poor Netscape/Mozilla Support in .NET
An anonymous reader submits: "I use Microsoft's .NET Framework at my place of employment to create website applications for the general public. I have noticed a number of issues that can make web applications developed in .NET incompatible with Netscape and Mozilla." Read on below for his specific complaints; have you encountered the same incompatibilities, and can you suggest any workarounds?
"The most egregious issue I have run into is this bug in .NET framework, that can prevent posts (the facility for the web browser to send information to the server) in Netscape and Mozilla (all versions) because MS used Internet Explorer specific Javascript. Microsoft buried a mention of a hotfix addressing the bug shortly after the first Framework Service Pack. However, the latest Service Pack (SP2) came out several months later and it still does not contain the fix. The only way to obtain the hotfix is to contact Microsoft's paid support. ("In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem" -- from the knowledgebase article). Keeping the patch as a hotfix that is not freely downloadable ensures that hosting providers will not have it installed.
A Unicode encoding issue in .NET can cause all fonts to display as squares instead of letters in Netscape 4. I am not saying that MS has to support NS4. I think the decision of whether or not to support Netscape 4 should be up to the developer, not Microsoft. MS describes a workaround in the knowledgebase article. (Anecdotally) all other web development environments I have seen allow proper code to work in Netscape without a workaround.
Standards-compliant websites utilizing most web-development platforms usually work fine in Netscape and Mozilla, even if the developer did not to test or develop for Netscape and/or Mozilla. However, Microsoft's .NET Framework inserts code and encodings into web applications that categorically break these browsers."
It's all accidental that they have issues with Netscape and Mozilla browsers...
Geez. Who woulda thunk it?
So this is how "vertical integration" works!
(By the way, I have inserted HTML code into this post such that anyone who has not added me to his "friends" list cannot reply to this post.)
(By the way, if you decide to add me to your "friends" list, HTML code will be added to all of your posts such that only I and my "friends" can read or respond to your posts.)
(Why? Because I believe in the Free Marketplace of Ideas, so long as all of those ideas are mine.)
Opinions on the Twiddler2 hand-held keyboard?
"Never attribute to malice that which is adequately explained by stupidity." --Robert Hanlon ("Hanlon's Razor")
"Windows isn't done until Lotus won't run." --Microsoft Windows developers (circa early 1990s; quoted anecdotally)
Stupid job ads, weird spam, occasional insight at
I have noticed a number of issues that can make web applications developed in .NET incompatible with Netscape and Mozilla...can you suggest any workarounds?
Sure. Force everyone to use IE. Microsoft products are generally fairly intercompatible -- they just interoperate little or not at all with other products, particularly if it's inconvenient. If you're going to go partly MS (.NET), it's very painful to not go entirely MS.
The other alternative, of course, is to entirely ditch MS, but that's a much more controversial sort of decision, and could cost the decision-maker his job. Much safer and more reasonable to just throw a little extra company money at Microsoft and keep things working together.
[end sarcasm]
May we never see th
I had severe misgivings when I read that .Net generates its own HTML for some of its features, AND it was doing so in a browser specific way.
Suppose I wnat it to do something else?
I imagine that you could write your own control, but that would sort of defeeat the purpose of the elaborate architecture that MS touts as saving considerable development time.
Its a real honeypot and bear trap.
if MS is making an interoperative framework what more can you complain? Corps like IBM and Oracle when talking about interoperative issues they mean it - if you can't get Oracle work on AIX you can yell at both parties and they'll get it work. To them interoperable means profit. They hardly insist on one-platform solution when customers has their own business needs.
.NET, if it's done well, can bring MS' business to a new level, because low-cost(put down your torches please :), interoperable enterprise solutions is highly demanded. However, instances as such will well shattered our hope and MS is still having their own way in dealing with interoperability.
Frankly I don't see MS has that in their mind in the past when dealing with same issue.
My experience with .Net is limited to playing around with mono a bit. It strikes me that this is one area where the presence of mono could be very useful. If Windows .net produces html & javascript that isn't cross-browser compatible developers can either switch over entirely to mono or perhaps just use the equivalent mono dll ( System.Web.dll? ) (which I presume will be made to produce cross-browser html & javascript) in place of the Microsoft one.
I am not saying that MS has to support NS4. I think the decision of whether or not to support Netscape 4 should be up to the developer, not Microsoft.
:)'.
But for the choice to be left to the developer then Microsoft must provide support. Your statement is saying that Microsoft must support NS4.
I have just as little love (maybe less?) for Microsoft as anyone else but requiring them to support NS4 just doesn't seem right. As an ISV we have chosen not to support NS4 and Microsoft should have the same choice. Of course they should also document that choice and not just flatly say 'We support everything!
Microsoft is always trying to force us into using their own software for everything, even when they do not have a good solution and they make it very difficult to effectively use the products of other companies. Microsoft only makes people angry when they do things like this.
Microsoft does not have a solution for everything, nor does Sun, Apple, Novell, Oracle, or any other company. Interoperability and compatibility are essential and the easier it is for us to integrate one company's products with those of other companies, the more we like and will use those products.
If Microsoft would make their products more compatible, accept responsibility for security, and provide more flexible and less extortive licensing, it would go a long way toward making Microsoft the company many of us want it to be.
Ouch! The truth hurts!
I recently took a .NET course offered by a Microsoft partner, e.magination, and the first thing they said about the ASP.NET is that you need to go out and get another set of controls. The ones that come with ASP.NET cripple under other browsers. There are lots of them out there if you search, and e.magination provides consulting services in that area. You might be able to contact them and see what they use (most likely for a fee).
OK - we know that Microsoft is doing this so that people will be forced to use MSIE as their browser. But why?
If everyone in the world stops using MSIE and uses a different browser, the loss in revenue for Microsoft is exactly zero. If everyone in the world abandons Netscape and other broswers in favor of MSIE, the increase in revenue for Microsoft is exactly zero.
Why would a company work to create a monopoly in an area that provides them absolutely no benefit?
I will. Don't use the asp.net controls. use a standard control with the runat server attribute set to true. you will then be able to declare variables in the code behind file to manipulate them in code.
.NET to accurately render something complicated.
Never use the built in validators. they're poorly written and don't work well.
In general, the asp controls work ok if they're simple controls. Never depend on
Avoid the DataGrid control like the plague. Use repeater if you need to write a grid.
the built in ASP.NET controls work well if you use ie 6 on XP as a client, and degrade from there.
The Web will be a a lot better off if everyone pretends that Netscape 4 never happened.
Let it go. It has done more harm than even Microsoft to Web Standards.
I'm as mimsy as the next borogove but your mome raths are completely outgrabe.
I am afraid there is some prior art.
(Other than because MS is evil, blahblahblah)
Here's the code in question from MSDN:
before: var theform = document.WebUserControl1_Form1;
after: var theform = document.forms["WebUserControl1:Form1"];
So there's two different form syntaxes, but that shouldn't be a problem. Is it because they are generating a form name with a colon (:) in it and then expecting it to be escaped out to a underscore (_)?
Business. Numbers. Money. People. Computer World.
A Unicode encoding issue in .NET can cause all fonts to display as squares instead of letters in Netscape 4
.NET issue.
This is because of Netscape 4's faulty handling of UTF-8 characters not a
The default encoding in ASP.Net is UTF-8.
You can change the default in your globally in web.config or per response in your aspx page.
I just hit this page with MSIE (I usually browse
.net
.net in ROT13 is .argh?
with Lynx, you know, but since I'm at a box with
IE at the moment...) and saw an ad for...
guess what...
Microsoft Visual Studio
Btw, did you ever notice
There must be a hidden reason behind that *hint*
My Karma isn't excellent, damn it! (And
Since Microsoft is nearly always part of the problem, I suspect it will be faster (and easier) to modify the Mozilla engine to cope with Microsoft's blunders than it ever would be to get bare adequacy from Microsoft. What obstacles would the original poster face in circulating a new version of Mozilla?
In Soviet Russia...
You own Microsoft.
_Nobody_ should have to support NS4. Infact, I think we should all start making an effort to STOP supporting it to force the few crazy users who continue to use it to upgrade. Netscape 4 is obsolete, outdated, and its host of bugs are a bane on web developers everywhere.
You are right that many of the "webControls" are not cross-browser compliant. It's also true that some of the aspx headers may not include your preferred character-encoding, doctype, etc. The good news is, you can still take advantage of the rest of the framework, and save the webcontrols for IE specific projects. You can develop your own usercontrols and provide the same level of integration with the IDE. Also, the IDE is excellent about leaving your ASPX (html) code alone. In my opinion, at the very least, it's no harder to build cross-browser apps in Visual Studio.Net than it is in any other IDE.
BRENT ROCKWOOD, EST'd 1975
Boy, I think it's high time I learned .NET, just so I could figure out what the whole problem is. As near as I can tell, .NET has a few objects/methods that generate HTML for web-application programming, and those aren't necessarily spitting out the proper client-side scripting code in the HTML code. Apparently that client-side script is J-script rather than Javascript, and likely has some active-X controls thrown in as well.
Am I right?
WTF is the problem then? I deal with web-application controls creating invalid or mal-formed HTML and scripting all the time from open-source development platforms. If you don't like the way a library does its output, use a different library.
I see nothing to complain about here.
"Times have not become more violent. They have just become more televised."
-Marilyn Manson
taken from : http://www.johnmunsch.com/archives/2003_01.jsp#000 211
.COM in 2001 so my history with it is relatively short. Nevertheless, the differences between the two environments is striking. There's an old phrase something like, "there's no religious man like the converted sinner." I guess that describes me in this case. I see what the hell was wrong with staying with Microsoft so long and now I feel like I should witness for a bit.
.NET to fail and fail badly
.NET "rebuttal" that I linked to above, "For non-profit use VS.NET can be had pretty cheaply, especially if you know anyone that is in college somewhere." Pretty cheaply? For a non-profit (that means charities, churches, universities, the hobbiest who is going to give away his work for FREE)... pretty cheaply? Wow. That is well and truly pathetic. To try and justify it, and say, oh well, you can try to scam an educational discount so it won't be so dear, is even more pathetic.
.NET commercials with William H. Gacy telling you how great it is without really ever telling you anything about it? Microsoft doesn't trust .NET to stand on its own technical merits and it knows it may go like cod-liver oil down the gullets of a lot of people who have seen how the company works behind closed doors even if it were the tech shiznit.
.NET just in case there wasn't any grassroots community who actually wanted to do it. Or maybe just in case there was and they couldn't control it.
.NET for other platforms? If those same people were working on giving us new libraries and new tools for an already existing language instead of pouring in the thousands of man hours it's going to take to build a copy of the C# compiler or a .NET version of Ant and JUnit?
I started developing for Windows when Windows 3.0 was in beta and I didn't stop until mid 2000. In that time I developed software on Windows 3.0, 3.1, 3.1 Multimedia Edition, 95, 98, NT, and 2000. I used Visual Basic from 1.0 on. I developed in C++ using Borland and Microsoft tools. I've developed using libraries and APIs that Microsoft put together from COM and DCOM to TAPI and DirectX. I can go on and on about this but the point is that I've used Microsoft tools, software, and development kits up one side and down the other and because I worked for a long time at Tandy (now RadioShack) and Tandy worked closely with Microsoft I did a lot of it with beta stuff that the public never saw.
On the other hand, I only started using Java tentatively in 2000 and really went full bore with it when I moved to a
So let me look at this list from my perspective as: Lots of reasons I want
It's benefits a criminal organization. Not one that's been found guilty of crimes once or maybe twice, but lots and lots of times. Those crimes are many and varied, but here's just a few of them: Stac Electronics v. Microsoft, DOJ v. Microsoft, Sun v. Microsoft.
P.S. If you want to split hairs, Stac v. Microsoft isn't a criminal action, it's doesn't stem from a criminal abuse of their monopoly like the other two cases. Instead it was just a case of a small company being driven out of business by willful patent infringement, theft of trade secrets, etc.
Microsoft isn't just one thing anymore. It's too damn big for that. I'm sure even Bill himself knows better than to think that he truly controls the whole ship because it's become big enough that he can't possibly know all the projects, people, etc. anymore. But even a really large company still has a kind of collective personality that it exudes and a large part of the personality both internal and external to Microsoft for many years now is that of a total control freak.
If they don't own it, if they don't control it, if they didn't create it, if it doesn't have a broad stamp from Microsoft on it, then they don't want it. Sometimes it's sufficient for the thing to merely exist and they'll refuse to acknowledge it, other times they need to actively stamp it out because they can't control it.
When was the last time you can remember Microsoft saying they supported a standard? That is, not something they invented and submitted a RFC for, an actual, take it off the shelf and re-implement it without renaming it or "improving" it so it doesn't work with anybody else standard. C++? Basic? HTML? A video or audio codec? Java? Anything?
I'm sure there's something, somebody will point out their excellent support for TCP/IP or something and I'm sure that's true. But if you were to look at Microsoft as a person in your life, you'd wonder what was wrong with him or her such that so much had to be controlled by that person.
When your business is selling the operating systems that 90+% of everybody uses, software development tools should not be a profit center.
Why should I have to plunk down a couple of thousand dollars for a "universal subscription" in order to have access to compilers and basic development information? Sun doesn't have to do that? On this point I'll quote from the
Marketing. Have you been "lucky" enough to catch one of the
So they are going to pull a page out of Intel's bum-bum-buh-bum "Intel Inside" playbook and try to sell the brand like it's sneakers and cola. Trust us, you'll look cool if you use it, and we'll keep hammering the brand on TV so somebody who doesn't have much tech savvy in your organization will ask you if you are using it, or have plans to port to it, or whatever, even if he hasn't got a clue what "it" is in this case.
They don't trust you. They don't like what they can't control and they can't control you. They can try and they always will keep trying but ultimately you are going to see them keep trying to do things and always keep a step towards the door just so they can bolt if they have to. Want to see what I mean? Go visit GotDotNet sometime if you haven't already been there. It's the grassroots community website that Microsoft put up to support
Ever been to SourceForge? Of course you have, everybody has because that's one of the hubs of all open source projects. You can go there and get the source of thousands of cool open source projects and it really serves the community well. There's even hundreds of projects now that list C# among their programming languages. So why did Microsoft feel compelled to create their own GotDotNet Workspaces that is clearly just a ripoff of SourceForge?
A few reasons are fairly clear: First, at many of their workspaces you don't get in unless they know who you are. Ever been stopped at SourceForge and asked for a name and password to look at a project? What about download binaries or source? No? At GotDotNet you will, lots of projects are marked with a lock. Second, forget about all those messy licenses that Microsoft might not approve of, you don't need to worry your little head about BSD vs. GPL vs. LGPL. You've got the one true workspace license that you have to agree to, or else you won't be putting your project there. Lastly, well it's kind of obvious, but it's really all about control isn't it. After all, if you aren't under their thumb, that has to be a bad thing. So a SourceForge that they control is pretty much a requirement, isn't it?
It's a really sad way for a lot of people to waste a whole lot of time rebuilding that which already exists. Wouldn't the whole computing world be a lot better if there wasn't a team of people, maybe a couple of teams of people building complete copies of
In the end, we'll all just be left with another way to do the exact same thing only in a different language. Lord knows the world benefits now from being unable to share media between France, Germany, Italy, Spain, the US, and Japan because we can't all speak the same language. I benefit every day from the fact that I can't read a Japanese manga I might enjoy or understand a TV show from Europe. Once you are done building this tower, go build a few more right beside it using Perl, Python, and Ruby too. They're all trailing behind in certain areas, we need to make sure the same set of stuff is reinvented and rewritten for all of them too.
I'm tired now and I'm sure I can probably come up with some more stuff to add to rant but it's not really going to change anything anyway.
We're now on step 2.
What morons adopted.NET? How many times are people going to fall for the same trick?
You might want to give Mono for your .NET projects (libraries thereof at least.) I'm sure they will have better support for Mozilla :)
E
Marxist evolution is just N generations away!
Heinlen, not Hanlon.
I'd suggest you don't use Slashdot as your only news source, or you will suffer permanent brain damage.
The problem (apparently) isn't with Mozilla, it's with Netscape 4. Fortunately, we made the sane decision to emit HTML 4.01 and CSS. We have some JavaScript, but very little of it is browser-divergent (and all of that is isolated). My primary browser is Mozilla 1.0.1; the only reason I fire up IE is for debugging (the rest of the team uses IE, so we all catch rendering bugs pretty quickly, of which there has been almost none).
.NET is easily one of the best web development systems I've ever seen. It's not flawless, and I bitch about some things too much (like trying to understand the control life-cycle), but it's way better than anything I ever experienced with ASP or JSP.
It was easy to get ASP.NET's controls to all emit HTML 4.0 regardless of the browser it thought it was seeing. We just turned off the down-level rendering.
All the Web Controls we've tried work flawlessly with Mozilla. We use the DataList and DataGrid extensively, and they're great. Postback processing is no problem. Some controls are too quirky for me (like getting the Calendar to output without a ton of "style=" splashed all around), and we ended up building controls that weren't there (wizards, tabs, tree controls, etc.).
The control architecture in
I can't speak to the pain you'll have trying to ASP.NET for Netscape 4. But I can reassure you that it's not only simple but pleasant to use when developing against the standards (HTML 4.0/CSS).