本文介绍JupyterLab中菜单栏按钮无法点击、快捷键无法执行问题的解决办法。
近期打开JupyterLab后,发现其中菜单栏按钮无法点击,快捷键也均无法执行。如图,红框内的按钮点击均无任何反应。
为解决这一问题,首先尝试关闭VPN、浏览器代理设置等,均不奏效。随后,在搜索时看到Stack Overflow中一位网友的发现:在关闭类似于RightToCopy
功能的浏览器插件后,问题解决。
RightToCopy
是一个解除网页文字复制限制的插件,虽说我的浏览器没有直接安装这个,但是也有一些类似功能的插件;因此对其逐一尝试。随后发现,我安装的具有类似功能的Absolute Enable Right Click & Copy
与Simple Allow Copy
插件无论开启还是关闭,都不能解决问题。
随后想到,也有可能是油猴
中安装的类似插件导致的问题。因此打开JupyterLab页面,查看此时有哪些油猴
脚本被调用。基于此发现,是油猴
中同样具有解除网页复制限制功能的Remove web limits
脚本导致的问题。
将其关闭后,刷新JupyterLab界面,其中对应按钮则均可正常使用。
让我们更进一步:另一方面,Remove web limits
是一款非常方便的脚本,本次为了正常使用JupyterLab而将其关闭,但后期需要用到相关功能时还是需要再将其打开,较为不便;因此首先准备向开发者报错,发现这一脚本的GitHub中已有类似的问题上报:
依据其中一位用户的思路,我们可以将JupyterLab需要的http://localhost/
域名放入脚本的黑名单:
其中,将脚本代码的以下部分:
// 域名列表
var lists = {
// 黑名单
black_list: [
/.*\.youtube\.com.*/,
/.*\.wikipedia\.org.*/,
/mail\.qq\.com.*/,
/translate\.google\..*/
]
};
修改为:
// 域名列表
var lists = {
// 黑名单
black_list: [
/.*\.youtube\.com.*/,
/.*\.wikipedia\.org.*/,
/mail\.qq\.com.*/,
/translate\.google\..*/,
/localhost.*/
]
};
即可实现在开启脚本的情况下,正常使用JupyterLab。
至此,大功告成。