Dash & Internet Explorer 11

Hi,

I recently developed a simple dashboard that lists all the files sitting on an internal http web page.

At the moment the dashboard generates a dataframe listing each file with a link behind it. The user can then link on the file they want and it downloads on their machine

I dockerised the dash app and deployed it on our local linux server. I tested it on a few colleagues machines who were all using Chrome and it worked it fine.

I then sent it out to the client who are using Internet Explorer 11. So the dashboard and the dataframe is generated. When they click on the file name, nothing happens. I had a further look at it and it appears there are no urls behind the file names.

I’m using the code below to generate a HTML table based on a dataframe that contains the file names. I then add the url behind each of the file name.

def generate_table(dataframe): #generate a dash dataframe based on a pandas dataframe
max_rows = dataframe.shape[0]
return html.Table(
# Header
[html.Tr([html.Th(col) for col in dataframe.columns])] +

    # Body
    [html.Tr(html.A([html.Td(dataframe.iloc[i][col]) for col in dataframe.columns],
                    href=link + dataframe.iloc[i][0])) #add a link to each file name
     for i in range(min(len(dataframe), max_rows))]
)

Is there something I need to include in my script to make it compatible?

Thanks,
Shan

I don’t know the answer to your specific question but I had to do 2 things to make IE11 work for me:

  1. Make sure I’m using the latest version of all the dash libraries (there were some breakages in a version recently that got fixed)
  2. Set my the max age on Dash cache to 0: Weird app.layout behavior only on IE (example included)

Good luck!

If it’s really the same issue, maybe we should patch it ?

Thanks Damian for this solution, unfortunately it didn’t work for me. Still has the same issue as before.

Not sure if it’s related, for me the collapsible div also doesn’t work in IE 11.

html.Details([
        html.Summary('Show / Hide'),
        html.Div(...),
    ])