How do I know if my browser supports SVG 2.0? - svg

How do I know if my browser supports SVG 2.0?
(Apart from trying a feature that is supposed to work in SVG2 and realizing it's not working or that it works ...?)

From what I understand SVG 2.0 is still a work in progress with no full browser implementation.
For the more elusive features of SVG that may not be implemented by all browser you can check CanIUse to see if the feature is supported.

Asking if a browser supports SVG 2 is like asking if a browser supports HTML5. It seems like a totally reasonable question, but it doesn't work like that.
The best we can do is test if a browser supports a feature, rather than a version of spec.

Related

Is there WebGL 2.0 support in AirConsole?

Trying to figure out if Unity's LWRP could run in AirConsole build.
Apparently LWRP is supported in WebGL2 builds, so the question is - does AirConsole themselves fully support it? If not fully - what features are and what are not supported?
I am not very familiar with Unity nor LWRP, but to clarify:
AirConsole and it's games always run in a browser (except on AndroidTV where it may run as a native game). In the end AirConsole is "just" a website or Javascript API. Consequently if the browser supports WebGL 2.0, then it also works with AirConsole.
However, Web GL 2 support seems to be missing on e.g. Safari, which is one of the platforms supported by AirConsole. A game should run on all major browsers.
https://caniuse.com/#feat=webgl2
I hope this explanation helps you.

How to make nvd3 work in Internet Explorer 8?

I am creating a dashboard project for which i am using nvd3 but as we know svg is not supported in IE8 so it does not render graphs/charts in IE8..please suggest how i can make nvd3 work in IE8
I'm in the same situation and I think I may just ditch nvd3 (besides no ie8 support, I'm finding other bugs). I'm wondering, has anyone successfully used r2d3 with nvd3?
My concern is that r2d3 uses d3v3 now, which nvd3 is not presently supporting (currently d3v2... d3v3 support in the works as of writing this).
For an alternative to nvd3, I'm considering:
MorrisJS!
- Works on ie8 (Raphael-based), but a newer project and less flexibility/options with the charts comparatively.
Google Chart Engine!
- I think this may be the way to go (for my project), I don't like that its not open source, but I'm already working extensively with the Google Maps API and this solution is very stable and easy to use from my experiences thus far. In limited testing in ie8 it works very well.
Also, here's another stackoverflow question on this topic, [question]: nvd3.js rendering solution for Internet Explorer
...seems r2d3 was the accepted answer there, but no one really verified it.
The library r2d3 is "a customized build of D3 powered by RaphaelJS. The combination of D3 and Raphael enable developers to easily build data visualizations that work in IE7+ and all modern browsers." - it has its limitations (see the link for details), but it would be a good place to start

Standard development platform for the web browsers

Until recently I hadn't done much work for the web. I found the various inconsistencies about the way different browsers handle CSS and JavaScript quite annoying. I was wondering why hasn't anyone created something like the JVM for the browsers? I mean like a layer that runs on top of the browser which you can write code for and is consistent for all browsers? I know nothing about browsers so this question might be stupid.
Adobe Flash or Microsoft Silverlight

GWT unsupported browser warning

I want to display a message to users with unsupported browsers, as opposed to having the site fail in an ugly manner.
What's the best way to do that?
GWT also provides browser detection using the .gwt.xml file. Have a look at this:
http://code.google.com/p/google-web-toolkit-doc-1-5/wiki/DevGuideDeferredBindingReplacement
It's an interesting solution, but I'm not sure if it's the best solution in your case. It could be very useful for creating a simplified version of your application which would automatically be loaded in unsupported browsers.
The GWT team does not provide a list of unsupported browsers, only supported browsers, and it's a vague list at that "most recent versions of Internet Explorer, Firefox, and Safari. (Opera, too, most of the time.)".
If you have a good idea yourself of what browser/version won't work you can use this code:
public static native String getUserAgent() /*-{
return navigator.userAgent.toLowerCase();
}-*/
to learn what browser is being used and perhaps cook up a work-around.
On the other hand, browser rendering of web pages can fail in many subtle ways ranging from mildly annoying to catastrophic, and there is often no way to know where your page falls on that scale. One of the major reasons for GWT is that you can stop worrying about this sort of thing. At least until it happens.
If you want to make it simple and stupid, check with some javascript code in your main html file, before GWT is loaded. Novertheless, I would rather trust GWT to handle things more or less quirky. You could also just recommend chrome or firefox.
I realise this is an old question, but I had the same problem, and wanted to share a new solution for it.
Today with GWT2.7 "obsolete" browsers try to download undefined.cache.js. This obviously fails and the client is stuck forever.
You could patch GWT itself setting fallback compile steps, but the easy solution is to simply provide a (manually crafted) undefined.cache.js and place it where the other generated files are.
Inside you put this one line:
xxxxxxx.onScriptDownloaded(alert('This browser is not supported anymore.\nPlease upgrade to a more recent browser.'));
where xxxxxxx is your module basename (from xxxxxxxx.gwt.xml).

Is it sensible to dynamically generate SVG images on websites yet?

I'm just learning about SVG, and it seems great but I'm not sure about browser support - have people successfully got around this, or is it still too early?
Raphael is a cross-browser vector graphics library which might be worth a look.
You can use John Resig's processing.js library to get cross-browser compatibility.
There is also Walter Zorn's (lot of DIVs) technique, that doesn't use SVG.
There is a new way to bypass internet explorer's lack of svg-capabilities:
The google project svgweb: Scalable Vector Graphics for Web Browsers using Flash.
It's a JavaScript library which provides SVG support on many browsers, including Internet Explorer, Firefox, and Safari.
I thought it was worth updating this dialog because things are becoming more "do able" in SVG cross-browser. As someone who has implemented some (fairly significant) systems for organisation I have been "dabbling" into the world of "cross-browser" SVG.
I see the words "still too early" on a dialog started 11 months ago and I'm adding to it.
Please go to my site that shows some of the capabilities of Raphael. You can easily link to the main Raphael site there after your pitstop.
My website was implemented with Raphael 0.8.6 but the creater of "Rap" just brought version 1.0 from beta and that (additionally) fully supports SVG "paths"
If you want to visit the world of CROSS-BROWSER interactive/SVG in it's current status please visit these constamtly updated websites via:
http://www.irunmywebsite.com/raphael/raphaelsource.html
I'd say your best bet is to create the image in whatever format you're most comfortable with, then convert it to SVG with something like ImageMagick. You could write PostScript by hand or with a library, or directly create the image from simple text/shape primitives using the ImageMagick API. There's pretty good documentation, and you can call ImageMagick as a COM object (assuming your language has good COM support).
Adobe also makes an SVG viewer plugin that you can link to on your site for people to get full functionality of your site. Unfortunately, they are discontinuing support for the plugin, but by that time, it is expected that more browser support will be forthcoming (hopefully). Several years ago I worked for a company that wrote an entire web app using SVG, and we had great success with this plugin.

Resources