web-dev-qa-db-ja.com

Web開発IDEを終了せずにWebページを再読み込み/更新する方法は?

ウェブサイトの構築

私はウェブサイトを構築するとき、2台のモニターを使用します。開発中IDE=メインモニターにあり、Webページがセカンダリ画面に開いています。

Webページを更新する必要があるたびにマウスに移動し、別の画面に移動して[更新]をクリックする必要があることにイライラします。

必要に応じて、ショートカットキーをWebページの再読み込みに割り当てたいのですが。 Winampが再生/一時停止などの一般的な機能にキーをマップする方法と同様の方法で。

私の現在の研究:

コマンドライン経由のFirefox

既存のFireFoxプロセスがコマンドラインから制御できることを発見しましたが、できる最善のことは、特定のURLで新しいウィンドウを作成することです。

firefox -remote "openURL(www.mozilla.org, new-tab)"

ドキュメントはこちら: https://developer.mozilla.org/en/Command_Line_Options

毎回リロード

Webページを定期的に更新するfirefox拡張機能もあります。ただし、これによりページが常にちらつき、リソースの浪費にもなります。

https://addons.mozilla.org/en-US/firefox/addon/115/

しかし、本当に必要なのは...

  • 現在選択されているタブをリロードするFirefox/Chromeのカスタマイズ可能なグローバルホットキー
  • グローバルホットキーから起動できるブラウザ拡張機能
  • コマンドラインから現在選択されているタブを再読み込みするコマンド。ホットキーにマップできます(エクステンションを使用してリモートコマンドを追加することはできますか?)

これを行う方法を誰かが知っていますか?ありがとう!

28
Jon Winstanley

Windows XPでは、これは機能するはずです。

  • refresh.vbs:というVBSファイルを作成します

    Set WshShell = WScript.CreateObject("WScript.Shell") 
    WshShell.AppActivate("Firefox")
    WshShell.SendKeys "{F5}"
    WshShell.AppActivate("TextPad")
    
  • このファイルへのショートカットをデスクトップに作成します。

  • ショートカットアイコンを右クリックしてPropertiesに移動します。

    • Generalタブで、[プログラムから開く]の横の[変更]ボタンをクリックします。 C:\WINDOWS\system32\cscript.exeを参照し、Microsoft Console Based Script Hostを選択します。

    • Shortcutタブで、ショートカットキーを入力します(例:CTRL + ALT + R)。 [実行]ドロップダウンで、Minimisedを選択します。

これで、CTRL + ALT + Rを押すと、Firefoxの現在のタブが更新されます。

19
dogbane

Alfred を使用してグローバルホットキーとして設定する簡単なAppleScriptを作成しました。

これがapplescriptです

tell application "Firefox"
    activate
    tell application "System Events"
        tell process "Firefox"
            keystroke "r" using {command down, shift down}
        end tell
    end tell
end tell

フォーカスがエディターに留まるようにしたい場合は、これらの行を追加できます。 Coda(私の選択したエディター)を、使用しているものに置き換えることを忘れないでください。

tell application "Coda"
    activate
end tell
12
snowmonkey.no

これは私のお気に入りのbashワンライナーです:

while /bin/true ; do inotifywait --recursive --event modify ./ ; echo "reload" | nc -c localhost 32000 ; done

これは Firefox Remote Control AddOn を使用し、現在のディレクトリファイル内および下の変更について通知します。したがって、プロジェクトにファイルを保存するだけで、現在のFirefoxタブがリロードされます。これはunix風で、inotifyがあればLinux + Macで動作するはずですが、適応なしではWindowsで動作しません。

11
Ludwig

Autohotkey と呼ばれるWindows用のツールがあり、キーコードとマウスクリックを送信することでほとんどすべてを自動化できます。ブラウザウィンドウを見つけるスクリプトを記述し、F5のキーコードを送信できます。このスクリプトをグローバルホットキーに割り当てれば完了です。

前のウィンドウに戻るには、スクリプトは現在選択されているウィンドウを記憶し、ブラウザーを更新してフォーカスを記憶されたウィンドウに戻す必要があります。

6
speedball2001

特にIDEとブラウザが切り替えている唯一のプログラムである場合は、ホットキーが利用可能であることは確かです。

alt+tab f5 alt+tab

ブラウザーに切り替え、それをリロードして、元に戻ります。マウス操作よりもはるかに速く、グローバルホットキーやインストールする追加のソフトウェアについて心配する必要はありません。

5
Josh Smeaton

これにははるかに優れたソリューションがありますが、複雑さが大幅に増大します。

Selenium(seleniumhq.org)は、ユーザーが要求したことを実行できます。これはオープンソースのブラウザテストフレームワークであり、多くの場合、ブラウザウィンドウをリモートで制御できます。

とにかくセレンが脳に入れたいもののように聞こえる場合は、それを学ぶのもよいでしょう。そうでない場合は、WSHスクリプトとAutohotkeyを使用します。

4
Undoware

これは実際にはあなたの質問には答えませんが、おそらくあなたの人生を少し簡単にします;)

Stylebot が見つかりました。自動補完機能などはありませんが、CSSで役立つ場合があります。

こちらがスクリーンショットです。サイドバーはStylebotです。いくつかの単純なプロパティをすばやく編集できる基本編集モードと、選択した要素のプレーンCSSを編集できる詳細モードがあり、「CSSの編集」を使用すると、ページのCSS全体を編集できます。

enter image description here

4
dAnjou

キーマクロ機能のあるMSエルゴノミックキーボードを使用しています。私はそれにJoshsソリューションをプログラムしましたが、うまく機能します。確認する必要があるのは、alt-tabで切り替えたときにブラウザーが次のアプリケーションになることです。 XRefreshというクールなツールがあり、ほぼすべての開発者が夢見ています。ただし、Firefox 4では動作しません。

編集:しかし、アドオンがあります "Auto Reload" 必要なことを正確に実行します。1つまたは複数のフォルダー(またはファイル)を指定し、Firefoxは内部のファイルの1つが変更されるたびに更新します。

編集(2013):PHPStormにはGoogle-Chromeの自動更新機能があります。その素晴らしさ:IDEで入力(!)すると、Webページの変更が表示されます。オープンソースソフトウェア開発者向けの無料のコミュニティエディションがあります。

4
Johanness

VBScriptソリューションはGoogle Chromeブラウザーでは機能しません。以下は、どのブラウザーでも驚くほどうまく機能するソリューション(ititle文字列を調整するだけ)とEclipse = IDE NirSoftの小さなユーティリティを使用して( http://www.nirsoft.net/ )。

  • NirCmd をダウンロードして、プロジェクトのどこかに「nircmd.exe」を抽出します(KISS this way)。
  • プロジェクトのどこかに次の 'nircmd-chrome-focus + f5.bat'バッチファイルを作成します。

    ECHO Off 
     REMこの小さなバッチファイルは、すばらしいnircmdユーティリティを呼び出して、フォーカスを当てますChromeウィンドウがF5を送信し、swtich 
     REMをEclipseに送り返します。これはもはや不可能です。 WIN7のVBScriptでChromeに焦点を合わせることができますが、
     REMはクリックが行われない限りキー送信を受け入れません。このツールを作成するためにNirSoftに真剣に寄付してください。
     
    %〜dp0nircmd.exe勝利ititle "-Google Chrome" 
    %〜dp0nircmd.exe win max ititle "-Google Chrome" 
    %〜dp0nircmd.exe sendkey f5を押す
    %〜dp0nircmd.exe win ititle "-Eclipse"をアクティブ化します。
  • バッチファイルをプロジェクトビルダー「プロジェクト>プロパティ>ビルダー>新規」として追加し、「プロジェクト>自動ビルド」および「ビルドオプション」>「自動ビルド中」が選択されていることを確認します。アイデアについては、以下のスクリーンショットを参照してください。

2

Windowsの場合:Alt + F5を押すだけで完了します。このソリューションは、同時に複数のブラウザで動作し、おそらくエディタ/ IDEでも動作します。 (jEdit、Eclipse、Notepad ++)でテストされています

これを行うには、 AutoHotKey をインストールし、以下のスクリプトを実行します(テキストファイルにコピーして、拡張子を.ahkに変更します)。ポータブル版があります ここ 。 AutoHotKeyでテストされたバージョンは1.0.48.05です

キー、エディタ、ブラウザ、その他すべてを変更できるため、このソリューションはかなり柔軟です。 FirefoxおよびIEブラウザおよびjEdit、Eclipseエディタ用に事前構成されていますが、このリストは簡単にカスタマイズできます。

AutoHotKeyにバンドルされている「WindowSpy」ユーティリティを使用して発見されたvarTextEditorおよびvarBrowsers。

; ############################################ ################################### 
;保存されていないすべてのドキュメントを保存し、開いているすべてのブラウザーを更新して、テキストエディターに戻ります
; ############################## ################################################# 
!F5 :: 
;構成変数。このスクリプトの設定をここで編集してください
; jEdit Eclipse 
 varTextEditor = SunAwtFrame、SWT_Window0 
; varBrowsers = MozillaUIWindowClass、MozillaWindowClass、Chrome_WidgetWin_0、IEFrame、OpWindow、{1C03B488-D53B-4a81-97F8-754559640193} 
; Firefox3 Firefox4 Chrome IEca Opera Safari 
 varBrowsers = MozillaWindowClass、IEFrame 
; End of configuration vars。
 
 WinGetClass、thisWindowClass、A;アクティブウィンドウクラスを取得します
 
 if(InStr(varTextEditor、thisWindowClass、true、1)> 0){; true =大文字と小文字を区別します
 varTextEditorClass = ahk_class%thisWindowClass%
 if(thisWindowClass = "SunAwtFrame"){
 OutputDebug、... Saving everything 
; SetKeyDelay、100、100、Play 
送信^ + s; Ctrl + Shift + S =すべて保存
} else if(thisWindowClass = "SWT_Window0"){
 SendPlay ^ s; Ctrl + S =保存
 } 
スリープ、500;データがハードディスクに記録されるまでしばらく時間をかけてください
}さもなければ{
 MsgBox、0、Ops !,これらのテキストエディタにいる必要があります: (%varTextEditor%)このスクリプトを実行するには、5 
 return 
} 
 
;開いている(および最大化されている)すべてのブラウザを更新します
ループ、解析、varBrowsers、 `、
 {
 varClasseBrowser = ahk_class%A_LoopF​​ield%
 if WinExist(varClasseBrowser){
 WinGet、winState、MinMax、%varClasseBrowser%;ウィンドウの状態を取得します。 -1 =最小化
 if(winState!= -1){
 WinActivate、%varClasseBrowser%
 OutputDebug、... Refresh browser%A_LoopF​​ield%
 Send、 {F5} 
} 
} 
} 
;テキストエディターに戻る
 WinActivate、%varTextEditorClass%
 return 
 
2
margenn

共有のためにdogbaneとすべてに感謝します。

Windows 7で作業すると、ブラウザーを更新できます

.batファイルを作成して実行

%windir%\ SysWOW64\wscript.exe refresh.vbs

そして「管理者として実行」で.batを実行します

VB Windows 7 x64のスクリプト)からCreateObjectを使用できません

:)

2
Mean

http://www.livereload.com/

LiveReloadは、ファイルシステムの変更を監視します。ファイルを保存するとすぐに、必要に応じてファイルが前処理され、ブラウザが更新されます。

さらにすごいことに、CSSファイルや画像を変更すると、ブラウザはページをリロードすることなく即座に更新されます。

0
datashaman

これには別の解決策があります。

FireFoxに FF-Remote-Control プラグインをインストールします。これにより、ネットワークを介して別のマシンからプラグインにコマンドを送信できます。 VIMとの統合に関する説明は、他のエディターと統合するためのテンプレートとしても使用できるドキュメントにあります。ただし、FFでのみ機能します。

0
Hari Mahadevan