近期学习JupyterLab。初次打开JupyterLab后,发现其中菜单栏按钮无法点击,快捷键也均无法执行。如图,红框内的按钮点击均无任何反应。

blender tab键_google chrome

  为解决这一问题,首先尝试关闭VPN、浏览器代理设置等,均不奏效。随后,在搜索时看到Stack Overflow中一位网友的发现:在关闭类似于RightToCopy功能的浏览器插件后,问题解决。
  RightToCopy是一个解除网页文字复制限制的插件,虽说我的浏览器没有直接安装这个,但是也有一些类似功能的插件;因此对其逐一尝试。随后发现,我安装的具有类似功能的Absolute Enable Right Click & CopySimple Allow Copy插件无论开启还是关闭,都不能解决问题。

blender tab键_chrome_02

blender tab键_js_03

  随后想到,也有可能是油猴中安装的类似插件导致的问题。因此打开JupyterLab页面,查看此时有哪些油猴脚本被调用。基于此发现,是油猴中同样具有解除网页复制限制功能的Remove web limits脚本导致的问题。

blender tab键_js_04


  将其关闭后,刷新JupyterLab界面,其中对应按钮则均可正常使用。

blender tab键_google chrome_05


  让我们更进一步:另一方面,Remove web limits是一款非常方便的脚本,本次为了正常使用JupyterLab而将其关闭,但后期需要用到相关功能时还是需要再将其打开,较为不便;因此首先准备向开发者报错,发现这一脚本的GitHub中已有类似的问题上报:

blender tab键_blender tab键_06


  依据其中一位用户的思路,我们可以将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。

blender tab键_脚本语言_07