私は通常、画面内でWebブラウザの2つのインスタンスを並べて実行しています。外国語のニュースや記事を読むときは、一方のブラウザで画面の半分を翻訳し、もう一方のウィンドウで実行されている元の記事が画面の残りの半分をカバーしています。
ここで、同じブラウザの2つの別々のインスタンスで実行されている2つのページを同時に下にスクロールして、翻訳されたテキストと元のテキストを比較できるようにしたいと思います。 FirefoxまたはChromeを使用しています。同時スクロールダウン機能を動作させる方法はありますか?
これは、次のスクリプトを使用して AutoHotkey magicで実行できます。このスクリプトは、実行のために.ahk
ファイルに保存する必要があります。ファイルをダブルクリックしてスクリプトを開始し、緑色の「H」アイコンのトレイバーを右クリックして終了し、[終了]を選択します。
スクリプトは、2つのウィンドウを調整してスクロールするために作成されています。最初にウィンドウを1つずつ含めて、スクロールするウィンドウを選択する必要があります。スクリプトは、調整されたスクロールのために次のキーを複製します:Wheel Up、Wheel Down、Page Up、PageDown。
スクリプトは、初期化にいくつかのホットキーを使用します。編集して他のホットキーを使用したり、不要なホットキーを削除したりできます。私が選んだものを以下に説明します。
F1 : Starts a new group of windows
F2 : Includes the currently active window in the group
F3 : Shows the windows in the group even if minimized
F4 : Closes all windows in the group
これがスクリプトです。それは私のテストで機能しました。
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
#SingleInstance Force
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
Process, Priority, , High
SetWinDelay 0
g = 1 ; Used to generate unique group names
; Reload script to reinitialize all variables, since there is no delete group
f1::
Reload
return
; Add currently active window to the group
f2::
WinGet, active_id, ID, A
GroupAdd, grpname, ahk_id %active_id%
return
; Restore all windows in the group to be visible
f3::WinRestore, ahk_group grpname
return
; Close all windows in the group
f4::GroupClose, grpname , A
Reload
return
; This intercepts scroll keys on the active window and duplicates them on the other window
#IfWinActive ahk_group grpname
WheelUp::
WheelDown::
PgUp::
PgDn::
MouseGetPos, mX, mY ; remember mouse position in current window
Send {%A_ThisHotKey%}
GroupActivate grpname ; activate the next window of this group
If (A_ThisHotKey = "WheelUp" || A_ThisHotKey = "WheelDown")
MouseMove, 200, 200, 0 ; move the mouse over the currently active window
Send {%A_ThisHotKey%}
GroupActivate grpname ; Activate previous window
MouseMove, mX, mY, 0 ; Restore its mouse position
return