本文介紹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。
至此,大功告成。