Bokeh plots working fine in chrome but empty pages in IE/Edge

My bokeh UI absolutely fine in chrome but shows empty pages in IE and Edge browsers (except for the html title of the web page)
I am using Bokeh server version 2.1.1 (running on Tornado 6.0.4)
My plots have multiple widgets like Select, Multiselect, Slider, Button, Datatable, Inputbox, i am also using figure.circle/diamond.

For what it’s worth, here are the messages from Flask logs:

127.0.0.1 - - [22/Aug/2020 14:52:19] “GET / HTTP/1.1” 200 -
INFO:werkzeug:127.0.0.1 - - [22/Aug/2020 14:52:19] “GET / HTTP/1.1” 200 -
127.0.0.1 - - [22/Aug/2020 14:52:19] “GET /type=%22text/css%22 HTTP/1.1” 404 -
INFO:werkzeug:127.0.0.1 - - [22/Aug/2020 14:52:19] “GET /type=%22text/css%22 HTTP/1.1” 404 -

Here is the index.html and at the moment I only see ‘I am the title’ in the browser tab, nothing in the body.

I am the title
{{bokeh_script|safe}}

Any ideas what I should do to fix this?

The flask app:
from flask import Flask, render_template
from bokeh.embed import server_document,server_session
from bokeh.server.server import Server
from bokeh.client import pull_session

app = Flask(__name__)

#create index page function
@app.route("/")

def index():
    myurl = "http://localhost:5006/kw_Clustering_Comparison"
    session = pull_session(url=myurl)
    bokeh_script = server_session(None, url=myurl, session_id=session.id)
    #bokeh_script = server_document("http://localhost:5006/data_clustering")
    return render_template("index.html",bokeh_script=bokeh_script)

#run the app
if __name__ == "__main__":
    app.run(debug=True)

Are there any errors in the JS console in IE/Edge?

Thanks for the super fast response. I see an ‘Access is denied’ message. Here is the screenshot Capture|690x259
It has a link that points to this from microsoft

Heh, that’s funny - your screenshot is not viewable because it itself has an “Access Denied” error, only this one comes from AWS. Can you try reuploading it? Or maybe just paste the message itself while formatting it as if it’s code.

Uploaded in github to overcome this upload issue here.
please see it here

Seems like this issue could potentially be cause by CORS, although usually it’s Google Chrome that doesn’t work. Try clearing the cache. I don’t have any other ideas.

Unfortunately, clearing cache didn’t make any difference, it’s still a blank page for IE, but thanks for your time.

With recent versions of Bokeh, IE compatible output is only supported if you use legacy resource bundles, e.g. bokeh.resources.INLINE_LEGACY or if you pass legacy=True to a Resources object you create yourself. Or if you are adding your own script tags manually in a template, by specifying legacy CDN URLs, e.g. bokeh-<version>.legacy.min.js.

However legacy support is currently broken in version 2.1.1 (but should be fixed in the 2.2 release next week).

Important note: I expect IE support will be removed relatively soon. Certainly Bokeh 3.x will not support IE. Microsoft itself is finally dropping all support for IE next year. (If MS, as vast and wealthy as it is, does not have resources to continue supporting IE, we certainly do not.)

1 Like

Bryan, thanks for the response. Appreciate it.

I guess I should add: I actually could not get INLINE_LEGACY to work on the 2.2 rc, but setting e.g. CDN.legacy = True does work, so we won’t be delaying the release over it (an issue has been filed)