Browser Detection and Information Container

msgarcia
Community Contributor
12
2689

The Challenge

This initiative was brought about due to the fact that many of our students, and some of our instructors, have erroneously logged in to Canvas in an incompatible browser. While many receive the notification that Instructure has provided, some are still confused about what a browser is, or which one they should use.

Solution

I wanted the solution to provide the user with the following information:

  1. The name and version of the current browser that is being used
  2. Additional information related to that browser
  3. Canvas' list of compatible browsers
  4. Canvas' list of system requirements

For this solution, I created a fixed container that is appended to the <body> element use jQuery, and that is displayed on the user dashboard when a user first logs in to Canvas. This container provides the user with basic information related to the current browser in use, and the user can also gain additional information by clicking on links included in the container (addresses solutions points 2-4). Furthermore, to prevent the container from obscuring any containers behind it, I have included a close button that the user can click, which closes the container by sliding it out of view.

Demo

This video has been deleted
(view in My Videos)

Repository

If you are interested in applying this to your environment, please feel free to fork or download from my Bitbucket repository, which can be found here. If you previously downloaded this package, please be sure to download the most updated version from the repo to ensure that the code will work as intended.

[UPDATE]: With the renewed interest in this repository, I wanted to give you a live demo of it in action. You can find a slightly modified version of it (with comments) on JSFiddle.

[UPDATE 2]: Instructure modified the html for their Dashboard page. Previously, in the <title> tag of the page, the text "User Dashboard" was present. Now the text has been updated to "Dashboard." I have modified the file in the repository to match this. I have also updated the JSFiddle to match.

12 Comments
dwillmore
Community Champion

msgarcia Nice Work  I just found this post and love your little app.  Thanks.

msgarcia
Community Contributor
Author

Thank you very much! I just wanted to enhance communication with students, as some of ours still have difficulty recognizing what browser they are using, or what a browser is.

dwillmore
Community Champion

I think this will cut down on first level support calls and reduce student confusion as you said.

925024864
Community Champion

Hi Mark,

Mark Garcia I've been experimenting with your css and js files, and/or their content pieces on our Canvas 'test' server, but haven't been able to get the app to populate or function.

Here are links to both our current css and js files (without your code):

Any help is greatly appreciated!

Earl Sallade

eLearning Support Specialist

Canvas Administrator
Pierce College District

esallade@pierce.ctc.edu

253.912-3768 or (ext. 3768)

dwillmore
Community Champion

I just ran the demo and have not put it in play yet.

msgarcia
Community Contributor
Author

Earl,

I am assuming that you do have admin privileges for the test server. Do me a favor. On your test server, if you have loaded in my css and javascript, go ahead and load your test server in Google Chrome, navigate to the "Dashboard" page of your Canvas Instance, and right click anywhere on the page, and select "Inspect" from the menu that appears. When the inspection panel opens, click on the "Console" tab, screen cap, and send me a direct message with your screen cap in it.

msgarcia
Community Contributor
Author

So, David, just to verify, when you say you ran the demo, you were able to take the files that I provided and successfully get the demo of the application to deploy, correct?

[UPDATE]: Never mind David, I realize now that you were saying that you downloaded and deployed the demo from my repo, but that you had not attempted to push the code to your Canvas instance.

925024864
Community Champion

Here it is Mark... Thanks, and let me know if you need anything else. If it helps, call me and we can do a screen share.   ;>)

Dashboard Inspect-Console_SreenCapture

msgarcia
Community Contributor
Author

Earl, let's set up a meeting so you can screen share with me. I followed you, follow me back, and I can send you a direct message with the details for the call.

msgarcia
Community Contributor
Author

David, just to let you know, in working with Earl, I was able to identify and resolve a possible issue that would prevent the Browser info box from appearing. I have updated and pushed my javascript code to my repo, so be sure to download the updated version before attempting to deploy in your Canvas instance.

925024864
Community Champion

Awesome Mark, thanks for the web meeting!

   Working together, we perfected your code for both your css and js files, so that they are now functional, and perfectly blended and interactive with ours, without any interference!

   This is a nice start point that runs a browser check, and provides user system specs. However, it doesn't do all of the robust features of checking browser, java, flash, and OS versions, with download links like the Oregon State example in my 'Create a 'Check My Computer' app that check for Canvas requirements/compatibility.' feature request does.

   Hopefully my request gets enough up votes, and Instructure sees enough value in it, for Instructure to add it as a program upgrade.

Thanks for you time and efforts.

Sincerely,

Earl Sallade

eLearning Support Specialist

Canvas Administrator
Pierce College District

esallade@pierce.ctc.edu

253.912-3768 or (ext. 3768)

drjutk
Community Member

Hey Mark!

There's been a few years since this post, so I'm not sure if you're still at this kind of thing. But with Agentic AI, there is some renewed interest in detecting and preventing certain browsers (Comet, Atlas, so far) from being able to access Canvas. The video above was deleted. Do you have a working video example somewhere?

Thanks!

Jason Johnston

Executive Director of Online Learning & Course Production

University of Tennessee, Knoxville