Slashdot Mirror


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."

26 of 70 comments (clear)

  1. Now I understand! by orthogonal · · Score: 3, Funny

    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.)

  2. Two explanations by Lumpish+Scholar · · Score: 4, Funny

    "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
    1. Re:Two explanations by the+eric+conspiracy · · Score: 2, Funny

      "Never attribute to malice that which is adequately explained by stupidity." --Robert Hanlon ("Hanlon's Razor")

      Microsoft picked up Malice as a subsidiary when they acquired Evil a couple of years ago.

  3. Yes by 0x0d0a · · Score: 3, Insightful

    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]

    1. Re:Yes by Randolpho · · Score: 2, Funny
      Posted by grandparent:
      fairly intercompatible
      Posted by parent:
      Intercompatiable? Which one of Dubaya's handlers let him out of his cage and onto the internet? (emphases mine)
      I especially love it when people who get off on pointing out Bushisms do their own. Really makes my day. :)

      P.S. The grandparent's spelling of "intercompatible" is the correct spelling. So is the usage of the word.
      --
      "Times have not become more violent. They have just become more televised."
      -Marilyn Manson
  4. .Net by the+eric+conspiracy · · Score: 4, Insightful

    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.

    1. Re:.Net by RupW · · Score: 4, Insightful

      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.

      It does it in a per-browser way. Its intention is understand and exploit advanced features of your browser.

      Yes, MS can do this better for IE than anything else because they control it. It'd be irresponsible of them to start making assumptions about what Mozilla does / doesn't support without talking to the Mozilla folks and some heavy QA.

      Presumably this isn't (yet) in their commerical interests.

      Even if you ignore the .NET controls, you're still left with an excellent business-friendly replacement for .ASP.

  5. Some people has asked by jsse · · Score: 5, Interesting

    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.

    Frankly I don't see MS has that in their mind in the past when dealing with same issue. .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.

  6. Can Mono help with this? by fuzzbrain · · Score: 3, Interesting

    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.

    1. Re:Can Mono help with this? by mhesseltine · · Score: 2, Interesting
      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.

      But, doesn't that mean that you are no longer using .net, you're using .mono. Also, if .net specifies that the html + javascript is written in one fashion, and .mono deviates from that, .mono is no longer considered .net compatible.

      If anything, this may be the first real indication that Miguel and the .mono group is wasting their time by trying to implement a "standard" that is created and controlled by MS

      --
      Overrated / Underrated : Moderation :: Anonymous Coward : Posting
    2. Re:Can Mono help with this? by King+of+the+World · · Score: 2, Insightful
      ... and .mono deviates from that, .mono is no longer considered .net compatible.

      No, it only loses full compatibility with that particular web control, and not .NET itself. Even so, whether a control is compatible is in it's functionality - and as there are Javascript techniques to use Standardised DOM where possible while falling back on MSDOM where not Mono could be functionally the same.
  7. Lack of Vision by yancey · · Score: 2, Insightful


    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!
  8. Just get new controls by MobyDisk · · Score: 5, Interesting

    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).

  9. This makes no sense by rudy_wayne · · Score: 2, Interesting

    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?

    1. Re:This makes no sense by c0d3fu · · Score: 3, Insightful

      Woah there buddy, that's not true at all ... if all the online applications don't work in other standard browsers (Mozilla, Opera, NS6), then all the Linux users are cornered out of using them. So we have just created demand for Microsoft software, in order to use these online applications. One company controlling the architecture of the web is a very, very dangerous thing. I can only hope that a Global Visual Language Standard is approved worldwide along with an open-source, GVL standard browser... so M$ doesn't corner out a tremendous amount of operating systems, user profiles, etc. etc. And what if you suddenly had to pay a fee to remove ads from the new version of MSIE xx.xx? Microsoft has already used its operating system and web browser to sell a tremendous amount of services and software (can you say MSN 8's fruition?).

      --

      [c0d3fu]: jwjb62@umr.edu || james@macrohub.com
  10. since nobody else can answer your question by Anonymous Coward · · Score: 4, Informative

    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.

    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 .NET to accurately render something complicated.

    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.

  11. Supporting Netscape 4 by DarkVein · · Score: 4, Insightful

    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.

  12. Any idea why this breaks? by IntlHarvester · · Score: 2, Interesting

    (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.
    1. Re:Any idea why this breaks? by Why+Should+I · · Score: 2, Insightful

      The trick to notice is that the name that uses the colon is actually what is placed in the html element's "name" attribute, and the name that uses the underscore is placed int he html element's "id" attribute.

      The "id" attribute must be unique for each page, but the "name" attribute doesn't. Since the "id" is unique later versions of MS DOM (not sure bout moz/netscape etc) allow you to access the html element from the root document object using dot notation. NS4 doesn't support this.

      The work around dereferences the object as being part of the forms collection. The forms collection is always available to the root document object and is hashed by the elements name (and sometimes also id) attributes.

      Hope that cleared it up for ya.

    2. Re:Any idea why this breaks? by IntlHarvester · · Score: 2

      Ahh. I just checked a couple references.

      Nescape 4 docs (pretty much the "DOM0" spec):
      The value of each element in the forms array is , where nameAttribute is the NAME attribute of the form

      But that obviously doesn't handle duplicate form names.

      W3C HTML DOM1:
      + Doesn't say what's exactly in the document.forms collection.
      + Does define interface HTMLCollection.namedItem() as:
      This method retrieves a Node using a name. It first searches for a Node with a matching id attribute. If it doesn't find one, it then searches for a Node with a matching name attribute

      So my guess is that this is a issue of interpretation, with IE erring on the side of W3C DOM1, and Mozilla erring on the side of Netscape4-back-compat

      Moz's behavior sorta makes sense with this old-style syntax, but I'd expect it to handle this, since they are so keen on modern standards.

      --
      Business. Numbers. Money. People. Computer World.
  13. Learn to write your own .Net webcontrols by Utopia · · Score: 4, Informative

    A Unicode encoding issue in .NET can cause all fonts to display as squares instead of letters in Netscape 4

    This is because of Netscape 4's faulty handling of UTF-8 characters not a .NET issue.
    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.

  14. Too bad... by mirabilos · · Score: 3, Funny

    I just hit this page with MSIE (I usually browse
    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 .net

    Btw, did you ever notice .net in ROT13 is .argh?
    There must be a hidden reason behind that *hint*

    --
    My Karma isn't excellent, damn it! (And /. still does not get UTF-8 right in 2012. Wow.)
    1. Re:Too bad... by gakguk · · Score: 2, Funny

      You ROT13 three chars and end up with 4 chars? God. We have 1/4 of the usenet generated by faulty encryption, what a mess.

  15. Microsoft Is Rarely Part of the Solution by Eustace+Tilley · · Score: 3, Insightful

    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?

  16. Yes, but... by DNAGuy · · Score: 4, Informative

    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

  17. So let me look at this list from my perspective by Anonymous Coward · · Score: 2, Interesting

    taken from : http://www.johnmunsch.com/archives/2003_01.jsp#000 211

    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 .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.

    So let me look at this list from my perspective as: Lots of reasons I want .NET to fail and fail badly

    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 .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.

    Marketing. Have you been "lucky" enough to catch one of the .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.

    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 .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.

    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 .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?

    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.