JupyterLab按鈕與快速鍵無法點選操作的解決

??近期學習JupyterLab。初次開啟JupyterLab後,發現其中工具欄按鈕無法點選,快速鍵也均無法執行。如圖,紅框內的按鈕點選均無任何反應。

??為解決這一問題,首先嘗試關閉VPN、瀏覽器代理設定等,均不奏效。隨後,在搜尋時看到Stack Overflow中一位網友的發現:在關閉類似於RightToCopy功能的瀏覽器外掛後,問題解決。
??RightToCopy是一個解除網頁文字複製限制的外掛,雖說我的瀏覽器沒有直接安裝這個,但是也有一些類似功能的外掛;因此對其逐一嘗試。隨後發現,我安裝的具有類似功能的Absolute Enable Right Click & CopySimple Allow Copy外掛無論開啟還是關閉,都不能解決問題。

??隨後想到,也有可能是油猴中安裝的類似外掛導致的問題。因此開啟JupyterLab頁面,檢視此時有哪些油猴腳本被呼叫。基於此發現,是油猴中同樣具有解除網頁複製限制功能的Remove web limits腳本導致的問題。


??將其關閉後,重新整理JupyterLab介面,其中對應按鈕則均可正常使用。

??讓我們更進一步:另一方面,Remove web limits是一款非常方便的腳本,本次為了正常使用JupyterLab而將其關閉,但後期需要用到相關功能時還是需要再將其開啟,較為不便;因此首先準備向開發者報錯,發現這一腳本的GitHub中已有類似的問題上報:

??依據其中一位使用者的思路,我們可以將JupyterLab需要的http://localhost/網域名稱放入腳本的黑名單:
??其中,將腳本程式碼的以下部分:

1
2
3
4
5
6
7
8
9
10
  // 網域名稱串列
  var lists = {<!-- -->
    // 黑名單
    black_list: [
      /.*.youtube.com.*/,
      /.*.wikipedia.org.*/,
      /mail.qq.com.*/,
      /translate.google..*/
    ]
  };

??修改為:

1
2
3
4
5
6
7
8
9
10
11
  // 網域名稱串列
  var lists = {<!-- -->
    // 黑名單
    black_list: [
      /.*.youtube.com.*/,
      /.*.wikipedia.org.*/,
      /mail.qq.com.*/,
      /translate.google..*/,
        /localhost.*/
    ]
  };

??即可實現在開啟腳本的情況下,正常使用JupyterLab。