jupyter notebook 启动页空白的解决方法
问题详情
- jupyter 版本:5.7.6(似乎是这一次更新造成的)
- chrome版本: 73.0.3683.103(当前最新版)
- Anaconda或者单独安装的python都是一样的
- 在终端运行jupyter notebook之后自动打开的chrome页面显示加载完毕但是是一个空白页
- 在浏览器中按F12打开开发者工具,console显示:Refuse to exeute script from ‘’ beacuse its MIME type (‘text/plain’) is not executable, and strict MIME type checking is enabled,如下图
- 重新刷新网页并使用network进行捕捉,点击其中一个js文件,并查看header选项,可以看到Content-Type显示的是text/plain
解决方法
- 打开对应的python版本下的 L i b \ s i t e − b a c k a g e s \ n o t e b o o k \ n o t e b o o k a p p . p y Lib\backslash site-backages\backslash notebook\backslash notebookapp.py Lib\site−backages\notebook\notebookapp.py
- ctrl+F搜索 def init_mime_overrides(self),并在该函数最后一行之后添加:
- mimetypes.add_type(‘application/javascript’, ‘.js’)
- 保存之后重新启动jupyter notebook,仍然显示空白,按下ctrl+F5之后就能够出现正常的界面了,此时查看js文件的Content-Type转变为application/javascript
F5与Ctrl+F5的区别
- 两者都可以用于页面的刷新
- F5进行刷新的时候会向服务器发送if-modify-since请求头,若反馈为304则使用本地的缓存
- Ctrl+F5在发送请求时,请求信息中有:Cache-Control:no-cache,Pragma:no-cache。从而浏览器不会采用本地的缓存,而是直接从服务端获取,返回HTTP状态码为200
- Ctrl+F5常用与前端代码的调试
报错信息的解释
- Content-Type:用户浏览器如何显示或者处理将要加载的文件
- text/plain:表示将文件当成纯文本处理,浏览器在遇到这种文件的时候不会进行处理
- MIME:MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式