jQuery 3.0 Chrome, Edge, Firefox, Safari desktop version compatibility - javascript

Currently I'm using jQuery 1.8.1. I'm going to upgrade to 3.0 for security reasons. When I see the Browser support section, it's saying:
Chrome, Edge, Firefox, Safari: Current and Current - 1
But I'm not sure what it means.
ex. Google chrome : 65.0.3325.181 jquery 3.0 compatible to 64.0.x but not previous versions?
current means the time when jQuery 3.0 released?

Basically, means that they guarantee compatibility for the Current and the Current - 1 versions of browsers, not of jQuery.
This does not imply that jQuery won't work on previous versions of all browsers, just that every bug or problem in previous browsers version won't be fixed, unless it happens also in current browsers version.
Actually, most of jQuery code works flawlessly in older browsers.
It's worth pointing that nowadays every browser in every platform (Windows, Mac, Linux, Android...) comes with automatic updates, so old browsers are increasingly uncommon.

Related

Using Angular 2 with older browsers thanks to TypeScript?

Since the Angular 2 team is using TypeScript for it's build, would it be a feasible assumption that they could compile a version of Angular 2 that would work on older browsers?
Edit 2:
It appears the Angular team has decided to support some non evergreen browsers. Per Brad Green (of the Angular team): What browsers versions will Angular 2 support? There's a new build widget with some hints on https://github.com/angular/angular
Currently, the Readme shows IE9 and up.
Angular 2 will only support modern browsers:
Modern browsers means the set of browsers known as ‘evergreen’ or
always automatically updated to the latest version. Building for
these browsers let us drop many hacks and workarounds that make
AngularJS harder to use and develop on than it needs to be.
The set currently includes Chrome, FireFox, Opera, Safari, and
IE10/11. On mobile, we’ll support something close to the list of
Chrome on Android, iOS 6+, Windows Phone 8+ and Firefox mobile. We’re
looking into supporting older versions of Android, but the jury is
still out.
http://angularjs.blogspot.com/2014/03/angular-20.html
Edit: To address your comment, no Typescript is not the limiting factor for Angular 2's lack of support for non-modern browsers (nor going to provide any magical support). Typescript can transpile to ES3, so if your target browser supports ES3, you can use Typescript. Conversely, Angular 2 will gain nothing wrt supporting legacy browsers by using TypeScript.

AudioBufferSourceNode - start vs noteOn

Is there any reason to use AudioBufferSourceNode.start(...) over AudioBufferSourceNode.noteOn(...)?
Yes. start() will work in Mozilla's nascent Web Audio implementation, and will work in Safari in the future. noteOn() won't.
As of today NoteOn does not work in Google Chrome, so you must use start(). (2014-07-24)
(This should be a comment but I don't have the rep.)
My company's developers confirmed that noteOn() began to fail in browsers that use recent versions of WebKit, but that to start() is a reliable alternate. Sorry, I don't know the specific version of WebKit, but affected browsers include:
All native browsers for iOS 10.3 (and above). This is due to Apple's requirement to use WebKit on that platform, including Safari, Chrome, Firefox, and Opera. As an example of a non-native "browser", Puffin is really a remote-access portal to a LINUX window, so it is unaffected. (Apple recently pulled Puffin Academy from the store, but it may be a misunderstanding of the method used, or may be a tightening of their requirements.)
Safari 10.1 (and above) for Mac OS X 10.10 through macOS 10.12 (and above).

Firefox addon compatibilty with version 11

I made an addon for Firefox and it works with the latest version. My problem is that I want it to work with all versions of Firefox. How can I do this?
Info:
I used the Add-on SDK to make the extension.
I use jQuery too in my extension, could it come form here?
Add-on SDK 1.14 (the current release) marks add-ons compatible with Firefox 19 and disallows installation in older Firefox versions. If you don't like that you have several options:
Edit app-extension/install.rdf in your Add-on SDK install and set minVersion to something other than Firefox 19. If your extension is simple you might even get away with that and your extension will actually work in older Firefox versions, maybe even in Firefox 4 (definitely not below that however, restartless extensions were introduced in Firefox 4). This is obviously not supported and verifying that everything really works correctly (e.g. no memory leaks) will be close to impossible.
You can get an old version of the Add-on SDK. You will not get any of the improvements in the newer Add-on SDK versions but you get support for old Firefox versions. You will still need an Add-on SDK version that's compatible to at least Firefox 10 however, otherwise your add-ons won't install in current Firefox versions (Firefox 10 is where the "compatible by default" switch was flipped). Also, regardless of compatibility flags - while your extension might work correctly in current Firefox versions, it's just as likely that it won't.
You can drop the Add-on SDK and just create a classic extension. Then you can set the compatibility boundaries to anything you like. Taking care of backwards compatibility will also be your responsibility however - and depending on what range of Firefox versions you want to support this is a very non-trivial task.
The main question is however: why do you want that? The current Extended Support Release is Firefox 18, so no version below Firefox 18 is supported by Mozilla. There are of course a few users on outdated Firefox versions for some reason but people who don't update also rarely go install new extensions. So, do you really want to spend tons of time making your extension work in Firefox 1.0 (release 2004)? How about Firefox 4 (released 2011)? How much effort do you want to invest into staying compatible with old versions when there are tons of addon-relevant changes in each single release?
You should read the addon compatibility page on the sdk documentation.
https://addons.mozilla.org/en-US/developers/docs/sdk/1.14/dev-guide/guides/firefox-compatibility.html
Did you simply try to change the minVersion field in your install.rdf file?

jQuery and Browser Compatibility

Yikes! I've been a developer for many years and have always tried to emphasize code that is compatible with as many systems as possible.
Recent, I purchased the book jQuery in Action and started reading it. I am very disturbed by the fact that the included source code doesn't appear to work correctly on either of the browsers on my current computer.
Specifically, I downloaded the book's source code and selected the "jQuery Selectors Lab" for Chapter 2. But it doesn't look how it does in the book.
On Google Chrome, both the DOM Sample and DOM Sample Code panes are completely empty. On IE7, things appear much closer to how they appear in the book. But the source code in the DOM Sample Code pane is all on one line (which extends to the right, off the page). Note that the screenshots in the book are of a browser running on the Mac.
I'm curious what sort of cross-browser compatibility users more experienced with jQuery are finding, and what this revelation means for developers who like to be as compatible as possible and are planning to use jQuery.
jQuery is actively supported in all these browsers:
Firefox 2.0+
Internet Explorer 6+
Safari 3+
Opera 10.6+
Chrome 8+
There are known problems with outdated browsers as per the list below:
Mozilla Firefox 1.0.x
Internet Explorer 1.0-5.x
Safari 1.0-2.0.1
Opera 1.0-9.x
Konqueror
jQuery generally works with Konqueror and Firefox 1.0.x, but there may be some unexpected bugs since we do not test them as regularly.
If you are using any of the outdated browsers, then this could be your problem, otherwise, you should post your code here on stackoverflow to get help. It may not be the browser causing the problem, but it could be the way code is written or executed.
I think part of your problem is that you're accessing something from the file system that is meant to be loaded from a web server. For example, I see this error in Chome on your chapter 2 example:
XMLHttpRequest cannot load file://...chapter2/dom.sample.html.
Origin null is not allowed by Access-Control-Allow-Origin.
Things seem to be behaving reasonably well in Chrome other than that sort of thing.
I usually target IE[789], Chrome, Firefox, Safari, and Opera and I haven't seen many browser issues that are specific to jQuery or jQuery-UI. The problems are mostly CSS issues and certain JavaScript problems (in IE for both) that aren't jQuery problems.
Version 3 of jQuery is maintained for the following desktop browsers :
Chrome: (Current - 1) and Current
Edge: (Current - 1) and Current
Firefox: (Current - 1) and Current
Internet Explorer: 9+
Safari: (Current - 1) and Current
Opera: Current
It is also maintained for the following mobile browsers :
Stock browser on Android 4.0+
Safari on iOS 7+
Source : https://jquery.com/browser-support/
I wouldn't be overly worried about the cross-browser compatibility of jQuery so much as I would the quality of the code in the case of this book. I haven't personally looked at this book so I can't make a personal judgement; however, I am the lead developer for a web application that currently has around 15,000 users and we have been confidently using jQuery for a couple of years now with no issues. We have to support customers on a number of platforms using all of the major browsers that are on the market. When jQuery code is written properly and tested for all environments, it can absolutely work properly regardless of what browser you are using.
Code samples appear to use outdated jQuery v1.4. Download latest version and check known issues for more details about cross-browser compatibility.
I don't know why but if I copy whole example directory to the tomcat/webapps, it works fine. But if I open page (lab.selectors.html) directly from the browser, it doesn't display dom sample section. The error message from the firefox console was like this:
[16:56:36.335] junk after document element # file:///C:/JavaScript/jqia2/chapter2/dom.sample.html:2

Which web browsers natively support Array.forEach()

Which browsers other than Firefox support Array.forEach()? Mozilla say it's an extension to the standard and I realise it's trivial to add to the array prototype, I'm just wondering what other browsers support it?
I just checked this for another question: JavaScript for...in vs for.
On kangax's ECMAScript 5 compatibility table, Array.forEach gets a 'yes' for all browsers except IE8.
As of September 2011, IE browser share on desktop devices is less than 40%, and at least 8% of browsers are IE 9.
In other words, Array.forEach is now supported by around 70% of desktop browsers. Obviously, this figure varies considerably, depending on territory and other factors -- some regions or countries (such as Brasil) have a higher proportion of Chrome users, for example, and some (such as China) have far more users on IE6 and IE8.
I haven't checked, but mobile support (on WebKit and Opera browsers) may be even higher.
The JavaScript article of Wikipedia lists the JS versions by browser. forEach is part of JavaScript 1.6. So it is supported indeed by most browsers, except Opera 9.02 (which I just tested). Opera 9.5 (which I just installed!) supports it, along with indexOf for Array.
Surprisingly, it is not official. I don't see its support in the page ECMAScript support in Opera 9.5. Perhaps it is an overlook or perhaps only a partial support they don't want to advertise.
Since IE doesn't support it (not even v8), I use jQuery.each() -- http://docs.jquery.com/Utilities/jQuery.each
All modern browsers but IE.
The Microsoft AJAX client library adds this to the Array prototype so if you have that client library in your site then you'll have it for sure.
If you need all browsers to support this and other JavaScript 1.6 to 1.8 functions, I would suggest using the customizable jPaq library. The functions are implemented in the way that was suggested by Mozilla.
I have checked on caniuse.com and it looks like all browsers support foreach except Opera Mini which has support info as ?Support unknow. If you're interested you can use this link to check the browser support for any features. https://caniuse.com/?search=foreach

Categories

Resources