瀏覽器開啟JupyterLab後所有快捷鍵與視窗按鍵均失效怎麼辦?

疯狂学习GIS發表於2024-05-27

  本文介紹JupyterLab選單欄按鈕無法點選、快捷鍵無法執行問題的解決辦法。

  近期開啟JupyterLab後,發現其中選單欄按鈕無法點選,快捷鍵也均無法執行。如圖,紅框內的按鈕點選均無任何反應。

image

  為解決這一問題,首先嚐試關閉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/域名放入指令碼的黑名單:

  其中,將指令碼程式碼的以下部分:

  // 域名列表
  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

  至此,大功告成。

相關文章