"Error loading dependencies" in IE and older Chrome (51)

I also jumped into dependencies issue in IE with js error “SCRIPT5009: ‘Uint8ClampedArray’ is undefined”.

I found that outdated IE11 was a problem - releases older than April 8, 2014 do not have type Uint8ClampedArray (see https://support.microsoft.com/en-us/help/2929437/description-of-the-security-update-for-internet-explorer-11-on-windows).

I solved the problem using @aaron5555’s code that can be found at https://github.com/plotly/plotly.js/issues/895

The only problem was the resources loading error - plotly js lib is loaded before any custom js. So I subclassed dash.Dash with the following code

from dash import Dash
import dash_renderer        
        
class CustomDash(Dash): 

    def _generate_scripts_html(self):
        srcs = self._collect_and_register_resources(
            [{"external_url": '/static/demo-init.js'}] +
            self.scripts._resources._filter_resources(
                dash_renderer._js_dist_dependencies
            ) +
            self.scripts.get_all_scripts() +
            self.scripts._resources._filter_resources(
                dash_renderer._js_dist
            )
        )

        return '\n'.join([
            '<script src="{}"></script>'.format(src)
            for src in srcs
        ])        

I know that’s ugly, but I need to support older IE11 …

Hope it helps.