Introduction

Error: JavaScript is needed to render this site: please enable it.

This webmaster’s page is used to work out changes to be made to the home page.

This presents a general home page layout, plus inserts for the news sidebar, examples of browser sniffing, browser engine sniffing I, browser engine sniffing II, and samples of notes, warnings, errors, ads, and code.

Recent Books: .

Visit the store for more.

The Focus

This focuses on browsers wanted to test web­sites, e.g. Brave, Chrome, Edge, Firefox, Internet Ex­plor­er, Opera, PaleMoon, Safari, Sea­Monkey, Vi­valdi, Waterfox.

This also focuses on fonts for crafting websites.

There is much good in­for­mation elsewhere about browsers &fonts, with no need to “reïnvent the wheel”, so this lists news concisely, with links to release notes & other details.

Bits & Pieces

Have browser news to share? Contact me.

Have more web design work than you can handle‽ I can help. See my portfolio and contact me.

Charles A Upsdell Website Design

http://www.upsdell.ca/portfolio.htm

Want to add a link to the Browser News to your site? Use this button and link to this URL:

Browser News

http://www.upsdell.com/BrowserNews/

Interested in software se­cu­ri­ty flaws? Click here:

Security News

http://www.upsdell.com/SecurityNews/

Browser Sniffing(anchor)

This list userAgents of common browsers, and the browser names, versions, and engines detected by this site using the cBrowserInfo class:

Browser Engine Sniffing I(anchor)

This lists userAgents of common browsers, and the browser engines detected by this site using the cBrowserEngine class:

Browser Engine Sniffing II(anchor)

This lists userAgents of common browsers, and the browser engines detected by this site using the cBrowser class:

Notes, Warnings, Errors, Ads, Code 

This gives samples of similarily styled notes, warnings, errors, ads, and code, preceded by normal text:

Normal Text 

One line normal text

A list:

Note​: some browsers have userAgent strings which identify them as other browsers: examples are 1 Brave, which identifies itself as Chrome, 2 Vivaldi, which also identifies itself as Chrome, and 3 the TOR browser, which identifies itself as Fire­fox. This makes it im­pos­si­ble for brow­ser snif­fers to reliably determine the correct browser name, though sniffers can still determine the correct engine name.

Title​: some browsers have userAgent strings which identify them as other browsers: examples are 1 Brave, which identifies itself as Chrome, 2 Vivaldi, which also identifies itself as Chrome, and 3 the TOR browser, which identifies itself as Fire­fox. This makes it im­pos­si­ble for brow­ser snif­fers to reliably determine the correct browser name, though sniffers can still determine the correct engine name.

NB​: some browsers have userAgent strings which identify them as other browsers: examples are 1 Brave, which identifies itself as Chrome, 2 Vivaldi, which also identifies itself as Chrome, and 3 the TOR browser, which identifies itself as Fire­fox. This makes it im­pos­si­ble for brow­ser snif­fers to reliably determine the correct browser name, though sniffers can still determine the correct engine name.

Notes 

One line note

A list of notes:

Note​: some browsers have userAgent strings which identify them as other browsers: examples are 1 Brave, which identifies itself as Chrome, 2 Vivaldi, which also identifies itself as Chrome, and 3 the TOR browser, which identifies itself as Fire­fox. This makes it im­pos­si­ble for brow­ser snif­fers to reliably determine the correct browser name, though sniffers can still determine the correct engine name.

Title​: some browsers have userAgent strings which identify them as other browsers: examples are 1 Brave, which identifies itself as Chrome, 2 Vivaldi, which also identifies itself as Chrome, and 3 the TOR browser, which identifies itself as Fire­fox. This makes it im­pos­si­ble for brow­ser snif­fers to reliably determine the correct browser name, though sniffers can still determine the correct engine name.

NB​: some browsers have userAgent strings which identify them as other browsers: examples are 1 Brave, which identifies itself as Chrome, 2 Vivaldi, which also identifies itself as Chrome, and 3 the TOR browser, which identifies itself as Fire­fox. This makes it im­pos­si­ble for brow­ser snif­fers to reliably determine the correct browser name, though sniffers can still determine the correct engine name.

Warnings 

One line warning text

A list of warnings:

Caution​: some browsers report major version numbers only; minor version numbers are hidden. For example, 1 Internet Ex­plorer 11.0.140 falsely says that it’s Internet Explorer 11.0, 2 Firefox 94.0.2 falsely says that it’s Firefox 94.0, and 3 Midori 0.5.11 falsely says it’s Midori 0.5. This makes it im­pos­si­ble for brow­ser snif­fers to reliably determine the correct browser version vec­tors.

Title​: some browsers report major version numbers only; minor version numbers are hidden. For example, 1 Internet Ex­plorer 11.0.140 falsely says that it’s Internet Explorer 11.0, 2 Firefox 94.0.2 falsely says that it’s Firefox 94.0, and 3 Midori 0.5.11 falsely says it’s Midori 0.5. This makes it im­pos­si­ble for brow­ser snif­fers to reliably determine the correct browser version vec­tors.

NB​: some browsers report major version numbers only; minor version numbers are hidden. For example, 1 Internet Ex­plorer 11.0.140 falsely says that it’s Internet Explorer 11.0, 2 Firefox 94.0.2 falsely says that it’s Firefox 94.0, and 3 Midori 0.5.11 falsely says it’s Midori 0.5. This makes it im­pos­si­ble for brow­ser snif­fers to reliably determine the correct browser version vec­tors.

Errors 

One line error text

A list of errors:

Error​: 1 some browsers report the wrong version number/​vector in their user​Agent strings. For example, Vivaldi 1.15.1147.64 says that it’s 1.96.1147.64. This makes it harder for brow­ser snif­fers to reliably determine the correct browser version vec­tors.

Title​: 2 some browsers report the wrong version number/​vector in their user​Agent strings. For example, Vivaldi 1.15.1147.64 says that it’s 1.96.1147.64. This makes it harder for brow­ser snif­fers to reliably determine the correct browser version vec­tors.

NB​: 3 some browsers report the wrong version number/​vector in their user​Agent strings. For example, Vivaldi 1.15.1147.64 says that it’s 1.96.1147.64. This makes it harder for brow­ser snif­fers to reliably determine the correct browser version vec­tors.

Ads 

One line ad

A list of ads:

Amazon Kindle PaperwhiteAmazon Kindle Paperwhite 2021: put 1,000’s of books in your hand! Three new Kin­dle Paper­whites are on sale: 1 Ba­sic Edi­tion, 2 Kids Edi­tion, and 3 Sig­na­ture Edi­tion. Highly Recommended 5 Stars

Microsoft OfficeMicrosoft Office 2021: get the newest ‘perpetual’ Office. It comes in 3 retail edi­tions: 1 Office Home & Student, 2 Of­fice Home & Business, and 3 Of­fice Pro­fes­sional.

Code 

/* One line of code */
HTML (IE) <!--[if gte IE 5]> <script type="text/javascript"> JavaScript var isTrulyIE = true; </script> <![endif]--> CSS font-weight:bold; font-family:'Gwendolyn', fantasy; JavaScript // Function to return the DOM element for an ID, or null if not found function getElement ( id ) { var rv = null; if ( (arguments.length == 0) || (id == "") ) ; else if ( document.getElementById ) rv = document.getElementById( id ); else if ( document.all ) rv = document.all[id]; return ( rv ); } // Method to return the DOM element for an ID named by a string, or null if not found String.prototype.getElement = function () { return ( getElement(this) ); } // Return true if connection is local function myIsLocal ( ) { return ( String(window.location).indexOf('http') != 0 ); } // Check if JavaScript n (for n = 1, 6, or 8) is supported and adjust error message at sID if not function myNeedJavaScript ( n, sID ) { var sFunction = 'myNeedJavaScript()'>; var sMessage = '<p><em>Error</em>: this site needs JavaScript ' + n + '; please upgrade your browser</p>'; var oNoScript = getElement ( sID ); var isHandled = true; var isSupported = false; switch ( n ) { case 1: isSupported = true; break; case 6: if ( typeof(sFunction.codePointAt) === 'function' ) isSupported = true; else if ( oNoScript ) oNoScript.innerHTML = sMessage; break; case 8: if ( typeof(sFunction.padStart) === 'function' ) isSupported = true; else if ( oNoScript ) oNoScript.innerHTML = sMessage; break; default: isHandled = false; break; } if ( !isSupported ) console.error( sFunction + ' error: JavaScript ' + n + ' not ' + (isHandled?'supported'>:'handled') ); else if ( oNoScript ) oNoScript.style.display = 'none'; return ( isSupported ); }

 

 Top of Page         Legal Notices