近期学习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。