eli5 Why do some websites work on specific browsers? For example Chrome and not Firefox.

107 views

eli5 Why do some websites work on specific browsers? For example Chrome and not Firefox.

In: 6

7 Answers

Anonymous 0 Comments

There’s something called “W3C,” which stands for “Word Wide Web Consortium,” think of it kind of like a web Illuminati, but instead of controlling governments it’s a bunch of nerds that decide how HTML should work. They decide on a “specification,” which basically outlines things like “if a programmer types `<img src=”someURL” />`” a web browser should display an image.

Here’s where the problem starts. The specification is just a text document, and it’s up to each browser developer to decide how they want to implement it in code. This can result in:

* Different browser implementing things slightly differently or interpreting the spec differently, producing slightly different output.
* Browser developers adding extra features that aren’t in the spec, usually so they can prototype out these features for a later proposal to add them to the official spec. These features might be handy enough web developers start to use them before they’re official, meaning that website will only work in the browser that implemented them.
* Deprecation. Technology changes, we learn more about how users behave, and we learn more about how developers can work more efficiently every day. Sometimes the way the spec was built 10 years ago isn’t how modern users/developers need websites to work these days, so new features are added, but old features are also taken away. When a feature is taken away, it’s called being “deprecated.” Some websites are older and they can’t afford (or are too cheap to) upgrade their site, so the old code can only run on older/certain browser that still supports the deprecated code.

There are probably a few more, but these are the main ones.

Anonymous 0 Comments

Years back, websites would work only for Microsoft Internet Explorer and actually refused to work if you didn’t have that. (Fidelity Investments is one that I recall that actually displayed a message that Chrome isn’t supported and refused access).

The reasons are based on compatibility and manpower. Every browser has its own “special” functionality in CSS (for page styling) and Javascript (for interactive behavior). A company may have designed its website to take advantage of these functions that are not available in other browsers. Or they may not be willing to expend the resources to ensure that their website is compatible with all browsers, especially browsers that aren’t widely used.

It isn’t just a matter of a developer doing the work, there are more human resources required for testing and validation, each and every time the website gets an update, and each and every time any of the browsers get an update.

Anonymous 0 Comments

I think the other comments have gone over the why, but the chromium engine is what is used when testing Web site functionality.

Almost all, except Firefox and may be a few others based on Firefox, use the chromium engine

Microsoft edge, Google Chrome, Opera, Vivaldi, brave etc

Internet Explorer is gone as a browser now, but for sites that require it you can run a compatibility mode in Microsoft edge called IE mode

Anonymous 0 Comments

Think of it like cars. They all drive you down the road, but each car is a little bit different.

Some are 4WD and will perform better on hills/etc. Some may have special grip tires. Some run on electricity. Some just look fancier than others or have bells and whistles not available in others.

Browsers are the same way. All browsers at their core are created with the idea of showing web pages in all their glory, but they are all just a bit different.
Some have different “engines”. (Literally called a browser engine, responsible for much of the differences you describe), others will include extra features not necessarily supported by others (add-ons, extensions, etc.)

Internet Explorer was one of the first browsers and had several specific quirks and features that became relied upon over its long history. Some of those “features” introduced security issues that were not picked up by other browsers.
(There’s a lot more to internet explorer and its sordid history in the browser wars, but this should work for an overview-type answer.)

Anonymous 0 Comments

Consider that how a particular web page looks in a particular browser is a matter of interpretation.

For example, if you have a desk then you could interpret it as being 1.2m wide, 0.5m deep and 0.7m tall. If you were to ask someone to make you a desk and provided those values, without the specific metric, to someone that works using the metric system then their interpretation will be in line with what it’s supposed to be. If you were to give those same values to someone who uses the imperial system then what you get won’t be quite the same.

This is analogous to how sites appear differently in different browsers. There’s an organisation that defines how something should work (W3C) which releases specifications. Different browsers use different rendering engines. Some browsers use the same engines and so they will render things the same between them. When a rendering engine interprets a specification differently than some other rendering engine that’s because one or both of them have failed to implement the specification correctly.

In some cases it’s possible for the developers of the site to supply targeted instructions to misbehaving rendering engines to trick them into rendering correctly. For this reason some sites may appear to be more consistent than other sites. At that point it becomes an economic decision based on how popular a given site is vs how much time it will take to implement these workarounds.

Anonymous 0 Comments

Web pages, in their default form, are just text files. You can see what these text files look like if you right-click on the page and click on the “View Source” option. That’s what your computer is actually downloading from the Internet when you open up a website.

The web browser is able to take a file like this and read it as a set of instructions on how to construct the version of the webpage you actually see. Like baking a cake from a cookbook recipe.

Here’s the thing, though… those instructions are a little… loose. There’s a defined standard dictating what those instructions are *supposed* to mean ([someone else has already mentioned it](https://www.reddit.com/r/explainlikeimfive/comments/yz39bz/eli5_why_do_some_websites_work_on_specific/iwxv5g0/)), but just like any rule or law, it’s open to some interpretation on *exactly* what it could mean. And intentionally so. The standard only tries to define the most important bits, and leaves the fine details up to whoever tries to follow the instructions.

Web browsers are programs that read those funny files and turn them into the web pages you can see. The way they go about doing that is something that each web browser development team figures out on their own, independently, from the ground-up. Ideally, they try to follow every part of that standard laid out for them, but anything else not talked about in the standard is totally up to them. This includes the way certain elements look and feel, even though on paper they all function mostly the same as all the others

Despite there being a centrally agreed-upon standard, that’s all it really is. A *standard*. Not a *rule*. The standard is less of a rulebook and more of a *goal*. The dev team for a browser should want to work on their product until it *gets* there. It might not be all of the way there. There are some parts of the standard that it simply doesn’t meet, because the devs can’t find the time to put it in, or because meeting it would require them to go back and completely redesign other choices they made in the past and they aren’t ready to make changes like that. So some features go unimplemented or unsupported for long durations of time even after many of their competitor browsers have since implemented them. This is the bulk of why certain websites work in some browsers but not others.

It gets even hairier when a web browser decides it wants to do something completely non-standard. That is, invent a totally new feature that isn’t in the standard at all. Just because it thinks it would be a cool thing to have. Website designers can take note of this, and decide to try and take advantage of those special features, because they may also think the features are cool to have. But since only one browser added them, the feature will only work in *that* browser. Any other browser that tries to access the website won’t be able to use that feature, because they didn’t implement it. Generally, most websites that want to be accessible to as many people as possible will avoid experimental browser-specific features like this, so they don’t alienate any users. If the feature proves very popular, though, the browser devs can take it up with the standards people and be like, “Hey, we had this idea and it seems really useful, can we make it part of the standard?” And they might agree. At that point, it (or some compromised version of it) becomes standardized, and other browsers will be coerced to make their own versions of it. This is one way web standards can innovate.

Anonymous 0 Comments

HTML is short for Hyper Text Markup Language, and like with all other languages, not everyone (browser) can communicate in that language with same efficiency and fluency. Some words are confusing, misunderstood by different people, vague, or brand new no one understands completely. Yet everyone speaks it and somewhat communicate with each other.

Back in the day people designed their pages for Internet Explorer because it was already installed and many corporations didn’t let employees to install anything else. IE also tried to dominate web by utilizing this loophole and introducing Windows/IE only features. Now, Chrome is the new IE. It has just became the thing it was created to destroy.

Todays most browsers are much more compatible since internet is way faster, so communicating/collaborating is easier, but mostly browsers yielded to Chrome’s influence and switched to same rendering engine: WebKit/Blink. Opera, Brave even Edge uses Chromium’s rendering engine, and WebKit is essentially Safari.