STERFIELD

ViChromeのIssueを解決

ViChromeのIssueを解決

はじめに

本投稿では以下を扱います
・viChrome と言う GoogleChrome アドオンの不具合解消
・解消のためのアプローチ
・GitHubへのcommitまでのフロー

経緯

以前の投稿でviChromeと言う
「キーボードでブラウザの挙動をマッピングして制御する」
アドオンを紹介しました。

しかし、Chromeのアップデートに伴って使えなくなって久しいのです。
以下のGitHubにあったIssue経由で解決出来そうだ!
と言う事で幾度かに渡って挑み、最終的に解消しました。

Keyバインドの仕様変更

最初に「恐らくキーバインドが機能していないだろう」と思い以下にたどり着きました
http://pasokatu.com/15313

確かにv54あたりから使えなくなった。
しばらくv53までをインストールして使うも、再起動するたびに戻さなければならない苦行。
keyIdentifierをkeyに置き換えてみるも動かず。しばらく諦め期間が続きました。

改めて改造してみようと本家ViChromeのGitHubを見ると以下のIssueに行き着く。
https://github.com/k2nr/ViChrome/issues/67

mgi166氏が何やら改良してる!?
https://github.com/mgi166/ViChrome/branches/all
Chrome v57まで併せて更新している。これは使えそう。

早速自分のrepositoryへFork。
リンクフォーカスを実行してみると・・・動いた!!

が、スクロールが機能しない。。。
制御している “mode.js” を直截編集してリロードしながら探ってみる。

該当箇所でconsole.logを出力すると表示される。
つまりscrollByが機能していない。
更にview.jsのscrollByでOverrideしているところで window.scrollBy すると動く。
スクロールする差分のtop, leftは値が来ている。
と言う事は

ここが動いていないと結論。

“document.body javascript animate”で検索してみると見事ヒット
http://chaika.hatenablog.com/entry/2017/09/22/090000
これもChromeの仕様変更による、、、document.documentElementに置き換えてしまえば動く。
Firefox等では・・・と記述もあるがChromeのアドオンなので無視。

最終的に以下のcommitで解決!
https://github.com/m-ohba-sterfield/ViChrome/commit/b795405539c34b6163753b80bea910e71d4facf5

ViChrome愛好家のお役に立てれば幸いです。

Author Profile

著者近影

スターフィールド編集部

SHARE

合わせて読みたい