DNN Browser Compatibility

Older versions of DotNetNuke supported the configuration of the browser compatibility of a website through the file

/js/ClientAPICaps.config

The operation of the default DotNetNuke SolPart menu with regard to different browsers is governed by this file.

The file is divided into a number of sections, for example:

<functionality nm="DHTML" desc="Dynamic HTML">
  <supports>
    <browser nm="IE" minversion="4" />
    <browser nm="FireFox" minversion="1" />
    <browser nm="Netscape" minversion="5" />
    <browser nm="Gecko" minversion="1" />
    <browser nm="Opera" minversion="7" />
    <browser contains="Iceweasel" />
    <browser contains="Konqueror" />
    <browser contains="Safari" />
    <browser contains="Camino" />
  </supports>
  <excludes>
  </excludes>
</functionality>

In the example given above I have added support for the Konqueror and Iceweasel browsers.

I created an HTML file with the following content to get the details of the browser.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
  <title>Untitled Page</title>
</head>
<body>
  <script>alert(navigator.userAgent.toLowerCase());</script>
</body>
</html>

I experimented with the browser compatibility options. As mentioned above, adding references for support of lesser used browsers. But found that realistically it added an additional complication to preparing a website. And with websites continually evolving it was going to be an overhead to maintaining websites. After my experimentation I no longer edited the browser configuration, leaving the file as is.

Whilst writing and updating the content of this article I was curious to see whether the file was still included, and if so what it contained. Looking at the latest version on GitHub I found that its content was similar:

<?xml version="1.0" encoding="utf-8" ?>
<capabilities xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <functionality nm="DHTML" desc="Dynamic HTML">
    <supports>
      <browser nm="IE" minversion="4" />
      <browser nm="FireFox" minversion="1" />
      <browser nm="Netscape" minversion="5" />
      <browser nm="Gecko" minversion="1" />
      <browser nm="Opera" minversion="7" />
      <browser nm="Mozilla" minversion="1" />
      <browser contains="Konqueror" />
      <browser contains="Safari" />
      <browser contains="Camino" />
      <browser contains="Mozilla" />
    </supports>
    <excludes>
    </excludes>
  </functionality>

Not much has changed with the start of this file over the years.