沒穿方服

索引

顯示╱隱藏內文
顯示具有 Chrome 標籤的文章。 顯示所有文章
顯示具有 Chrome 標籤的文章。 顯示所有文章

很基本的功能,按下鍵盤 PageDown 的時候應該要捲動網頁吧? 為什麼沒捲呢?

因為 focus(焦點)不在你要捲動的東西上啊。 於是寫了一個套件 FocuScroll,可以設定快速鍵,按下去會修正焦點,讓捲動鍵發揮作用就是了。

主要精神是聚焦在可以捲動的主要內容上,我自己很常用,覺得對鍵盤瀏覽來說很重要。



舉例,有此現象的網頁:

  1. Javadoc - Overview (Java SE 10 & JDK 10 ) Javadoc,預期 PageDown 會捲動右邊的大框框,但實際不會

    現在版本是 Java 10,一進去就會自動跳到「搜尋框」所以 PageDown 不會捲動; Java 8 之前的版本則是因為焦點一開始在 <frameset> 最外層,而不是最大那一塊 <frame> 內容,所以也不會動。

  2. 內嵌 codepen 或 youtube 等等使用 <iframe> 的網頁,點了裡面按鈕,焦點就被吃進去,再按 PageDown 就不會捲動外面那層了。
    例如這邊放個跟捲軸有關的 youtube 影片,點播放以後 就不能捲動這篇文章了。

原理和免責

如何找到真正要捲動的內容區塊? 其實我還沒想到很好的方法,現在是從畫面中央的元素開始,透過一些硬做的規則搜尋,細節會改來改去,但原則是要通過一些已知形式,都寫在原始碼的測試中。 可以想見一定有支援不了的網頁,那就再加測試、再修正吧。


Firefox 設定快速鍵的方法

藏在擴充套件管理的小齒輪圖示,裡面的「管理鍵盤快速鍵」功能。

Firefox「管理鍵盤快速鍵」功能

為什麼沒有人注意這個問題

鍵盤瀏覽比較會碰到這個問題,如果是用滑鼠滾輪,或筆電的觸控板滾動就不會遇到。

文件網站如 MDNMicrosoft Learn 有提供中文翻譯,有時候確實有幫助,像我就是看中文比較快。

但不是每個網頁都翻譯品質良好,差的時候,或者不確定差不差的時候就很尷尬,要切回原文確認,反而浪費時間。

有些領域則是已經習慣原文,但 google 搜到翻譯版連結,點進去反而陌生。

功能不親切的網站也是問題,例如 zh-hant.reactjs.org,要改語言就會離開目前主題(會跳去首頁)。

於是寫了一個瀏覽器套件 Delocalizer,它是 localize 的相反。

圖示是長得像丸子串的東西

提供一個工具列按鈕,「轉換目前頁面」會抓 URL 裡的 locale 部份(zh.xxx.comxxx.com/zh/yyy),把它拿掉,再把 accept-language 請求標頭改成 en,讓網站吐英文。

Firefox 版工具列按鈕

也可以設定 xx 網站自動轉換,或者從 google 點連結才自動轉換。 以下是選項畫面:

選項畫面

隨意感想: