imagesLoaded seems like the best solution (at the time of writing, Nov 2014) to detect whether an image is loaded or not.
I found that imagesLoaded library has the following characteristics:
license: MIT License
dependencies: none
weight (minified & gzipped) : 7kb minified (light!)
download builder (helps to cut weight) : no need, already tiny
on Github : YES
community & contributors : pretty big, 4000+ members, although only 13 contributors
history & contributions : stable as relatively old (since 2010) but still active project
All the above features point into the direction of a very high quality product. However, there is a couple of information I still cannot find explicitly mentioned nor on the official website imagesloaded.desandro.com, nor on the Github page github.com/desandro/imagesloaded:
what is the browser support?
what is the device support?
Even though I assume the answer to the 2nd question being obvious, I would appreciate a confirmation.
EDIT: I just remembered this answer mentioned it working on IE7+ https://stackoverflow.com/a/19959809/759452, further feedback is still welcome though
EDIT 2: I just found another source saying it does not support IE7, this time by the creator of the library himself, see message from "desandro on 30 Nov 2012" on github.com/desandro/imagesloaded/issues/16
It seems that imagesloaded is officially supported by IE8+.
See the answer from David DeSandro (the creator of the library) on https://github.com/desandro/imagesloaded/issues/168
Officially, imagesLoaded v3 does not support IE7 and below.
And also:
In my testing, it was successful in IE8, IE9, IE10, Chrome, Safari, and Firefox on desktop, and Mobile Safari for iOS.
Note: I will do some further testing & update this answer accordingly
Related
Is there a way to detect a client's keyboard layout in Firefox?
I know the answer is yes with Chrome (see https://developer.mozilla.org/en-US/docs/Web/API/Navigator/keyboard):
navigator.keyboard.getLayoutMap().then(function(k) { console.log(k.get('KeyQ')); } // A or Q gives a hint about the layout
Is there another way for other browsers (Firefox, Safari, etc.) ?
There is currently no way to detect the keyboard layout through Javascript in Firefox.
The feature is currently experimental in Chromium based browsers. For Firefox you can track the progress here: https://bugzilla.mozilla.org/show_bug.cgi?id=1469017
As of today the last update on the bug was 2020-06-05. One of the last substantial posts in that thread said:
[...] exposing this information is really strong fingerpintting source. Finally, Apple has already refused. So, I think that we do not need to this API.
You can follow Mozilla's official position on this API here: https://mozilla.github.io/standards-positions/#keyboard-map
Currently it's classified as "harmful", and states:
We're concerned that this exposes keyboard layouts, which seem likely to be a significant source of fingerprinting data, in a way that does not require any user interaction.
I do not expect this capability will be supported on Firefox in the foreseeable future.
As I understand there's CSPv2 and CSPv3. Also, browsers implement support for these at different time, if I understand correctly. I have two chrome browsers running on two computers, with the same version numbers, but one gives object-src violation error and does not load the PDF and the other does not give the error and successfully loads the PDF - located by the same URL.
Is there a way I can look at someplace in the browser and know the CSP version it supports? Ex: Chrome vxxxx.xxxx supports CSPvX.
Also where can I know the details of different CSP released versions? W3C talks about a CSP Level 3 but content-security-policy.com only talks about a CSP Level 2.
Thanks.
For CSPv1 and CSPv2, you can check the following links for browser support information.
CSPv1: http://caniuse.com/#feat=contentsecuritypolicy
CSPv2: http://caniuse.com/#feat=contentsecuritypolicy2
For CSPv3, it is too early to check browser support data (CSPv2 is release in December 15th 2016 and CSPv3 is in Working Draft status). Actually, some CSPv3 features are still under development in Chrome (https://www.chromestatus.com/feature/4626666856906752) and no public information is released yet for other browsers.
so i am making a site that takes advantage of the WebRTC(webcam snapshots).
ive been searching for hours, but didnt find a solution that didnt require a third party app install on the windows/OS X installation.
have any of your solved this problem?
As you can see IE/Safari does not support WebRTC: http://caniuse.com/#search=webrtc or http://iswebrtcreadyyet.com/
The only way that you can do it is through a 3rd party plugin, like Skylink or Temasys. But you'll also need something like a polyfill on your JS. In the end, Flash is also another 3rd party plugin.
It seems that Edge has limited support and Safari could get very soon WebRTC support.
Good news, things are about to change.
Safari
Apple announced support for WebRTC in Safari 11.
You can download the latest beta version of Safari 11 at the following link:
(You need to sign in with your Apple ID) https://developer.apple.com/safari/download/
Microsoft Edge
Edge supports webRTC with the help of adapter.js.
Data channels are not yet supported.
According to Microsoft's roadmap, ORTC Data channels are "Under consideration".
Roadmap Priority: Low — We are still evaluating this technology. There
may be significant spec stabilization, foundational work, or
additional community input required before we can begin development.
Internet explorer
As #adrian-ber said, you'll need a 3rd party plugin.
Underscore.string seems to provide nice features for javascript string manipulation.
It seems to have all the good points:
license : MIT
dependencies : none, it is an extension for Underscore.js but it can be used as standalone, without underscore.js
weight (minified & gzipped): 4KB
community, contributors: 58 contributors on Github
history, contributions: since mid 2010 on Github, contributions seem rather stable although pretty quiet since 2014
Except one point for which I am missing info: the "browser support/compatibility". I am especially worried about older version of IE.
I could find some issues (who have been fixed) on Github for various browser versions, but I could not find any clear statement regarding the browser support:
https://github.com/epeli/underscore.string/pull/37
https://github.com/epeli/underscore.string/issues?q=IE8
https://github.com/epeli/underscore.string/issues/115
I also searched on StackOverflow & did some googling but no luck.
I assume there is no "official" support for browsers so if anyone has experience in using Underscore.string in a production environment where users are on old browsers (IE8+) that would be great.
EDIT:
I also added a question directly on Github to try to get an answer, I'll update this page if I hear anything from there. See https://github.com/epeli/underscore.string/issues/304
As pointed out by epeli on the issue I posted on the Github project: running the test suite on IE8 seems a good way to find out if this library is supported by IE8.
Hence I did so, and found out that the result was positive: IE8 is supported by Underscore.string javascript library.
See the result of my test below
I can't seem to find any information, but i have Firefox version 24 and when i look at the version of javascript that it uses, i get version 1.5. This is giving me constant headaches because i should have the 1.6 version. I have many bugs and problems with my javascript code related to this problem.
Does anyone know why FF ships with version 1.5 and how can i get the 1.6? I allready lookt up the mozilla forums and developer network, but no help there.
All my other browsers, safari, chrome and opera have newer javascript versions.
See this fiddle:
JavaScript is the original name that Mozilla gave to the language (LiveScript really, but that's history now). All browsers implement ECMAScript, what we know today as JavaScript. JavaScript 1.x is the internal versioning of Mozilla's implementation of ECMAScript. You should be comparing supported features not different implementations of the language since they all implement the same standard, ECMA.