Saya mengedit file HTML di Vim dan saya ingin browser menyegarkan setiap kali file di bawahnya berubah.
Apakah ada plugin untuk Google Chrome yang akan mendengarkan perubahan pada file dan menyegarkan halaman secara otomatis setiap kali saya menyimpan perubahan pada file? Saya tahu ada XRefresh untuk Firefox tapi saya tidak bisa menjalankan XRefresh sama sekali.
Seberapa sulit menulis skrip untuk melakukan ini sendiri?
vim
google-chrome
automation
Kevin Burke
sumber
sumber
Jawaban:
Saya berasumsi Anda tidak menggunakan OSX? Jika tidak, Anda dapat melakukan sesuatu seperti ini dengan applescript:
http://brettterpstra.com/watch-for-file-changes-and-refresh-your-browser-automatically/
Ada juga plugin untuk chrome yang disebut "penyegaran otomatis plus" tempat Anda dapat menentukan muat ulang setiap x detik:
https://chrome.google.com/webstore/detail/auto-refresh-plus/oilipfekkmncanaajkapbpancpelijih?hl=id
sumber
keyword
menjadiwatch_keyword
di baris berikut:if (URL of atab contains "#{keyword}") then
Solusi JavaScript murni!
Live.js
Cukup tambahkan yang berikut ini ke Anda
<head>
:Saya menyalin jawaban ini hampir secara kata demi kata dari sini , karena menurut saya ini lebih mudah dan lebih umum daripada jawaban yang diterima saat ini di sini.
sumber
php -S localhost:8080
python3 -m http.server
, serta banyak lagi untuk bahasa / alat lain .Tincr adalah ekstensi Chrome yang akan menyegarkan halaman setiap kali file di bawahnya berubah.
sumber
Handy Bash one-liner untuk OS X, dengan asumsi Anda telah menginstal fswatch (
brew install fswatch
). Itu melihat jalur / file sewenang-wenang dan menyegarkan tab Chrome aktif ketika ada perubahan:Lihat lebih lanjut tentang fswatch di sini: https://stackoverflow.com/a/13807906/3510611
sumber
Dengan tambahan satu tag meta ke dalam dokumen Anda, Anda dapat menginstruksikan browser untuk memuat ulang secara otomatis pada interval yang disediakan:
Ditempatkan di dalam tag kepala dokumen Anda, tag meta ini akan memerintahkan browser untuk menyegarkan setiap tiga detik.
sumber
http://livereload.com/ - aplikasi asli untuk OS X, versi Alpha untuk Windows. Buka bersumber di https://github.com/livereload/LiveReload2
sumber
Gunakan Gulp untuk melihat file dan Browsersync untuk memuat ulang browser.
Langkah-langkahnya adalah:
Di baris perintah, jalankan
Buat gulpfile.js dengan konten berikut:
Lari
Edit HTML, simpan dan lihat browser Anda dimuat ulang. Keajaiban dilakukan melalui injeksi tag khusus secara langsung ke dalam file HTML Anda.
sumber
The LivePage ekstensi Chrome dapat dengan mudah diatur untuk memantau perubahan file lokal.
sumber
Saya tahu ini adalah pertanyaan lama tetapi jika itu membantu seseorang, ada isi ulang paket npm yang menyelesaikannya.
Jika Anda tidak menjalankannya di server atau menerima kesalahan
Live.js doesn't support the file protocol. It needs http.
Instal saja:
dan kemudian di direktori index.html Anda, jalankan:
Ini akan memulai server yang akan menyegarkan setiap kali Anda menyimpan perubahan Anda.
Ada banyak opsi lain jika Anda menjalankannya di server atau yang lainnya. Lihat referensi untuk lebih jelasnya!
sumber
Ada aplikasi java untuk os x dan Chrome bernama Refreschro. Ini akan memantau sekumpulan file tertentu pada sistem file lokal dan memuat ulang Chrome ketika perubahan terdeteksi:
http://neromi.com/refreschro/
sumber
Jika Anda menggunakan GNU / Linux, Anda dapat menggunakan browser yang cukup keren bernama Falkon . Ini didasarkan pada Qt WebEngine . Ini seperti Firefox atau Chromium - kecuali, itu menyegarkan halaman secara otomatis ketika file diperbarui. Refresh otomatis tidak terlalu menjadi masalah apakah Anda menggunakan vim, nano, atau atom, vscode, brackets, geany, mousepad, dll.
Di Arch Linux, Anda dapat menginstal Falkon dengan cukup mudah:
Ini paket snap.
sumber
Solusi cepat yang terkadang saya gunakan adalah membagi layar menjadi dua, dan setiap kali ada perubahan, klik pada dokumen xD.
sumber
Di node.js, Anda dapat memasang primus.js (websockets) dengan gulp.js + gulp-watch (masing-masing menjalankan tugas dan mengubah pendengar), sehingga gulp memungkinkan jendela browser Anda tahu bahwa itu harus menyegarkan setiap kali html, js , dll, berubah. Ini adalah OS agnostik dan saya memilikinya bekerja di proyek lokal.
Di sini, halaman disajikan oleh server web Anda, bukan dimuat sebagai file dari disk, yang sebenarnya lebih mirip aslinya.
sumber
Ini berfungsi untuk saya (di Ubuntu):
Anda mungkin perlu menginstal paket inotify dan xdotool (
sudo apt-get install inotify-tools xdotool
di Ubuntu) dan mengubah argumen--class
ke nama sebenarnya dari browser dan terminal pilihan Anda.Mulai skrip seperti yang dijelaskan dan buka index.html di browser. Setelah setiap penyimpanan di vim, skrip akan memfokuskan jendela browser Anda, menyegarkannya, dan kemudian kembali ke terminal.
sumber
xdotool search --name 127.0.0.1 windowactivate key F5
untuk bekerja di localhost (127.0.0.0). 0.1) saja, tentu saja. Sekarang saya harus menyambungkannya kembali ke skrip.Solusi paling fleksibel yang saya temukan adalah ekstensi Chrome LiveReload yang dipasangkan dengan server penjaga .
Tonton semua file dalam sebuah proyek, atau hanya yang Anda tentukan. Berikut adalah contoh konfigurasi Guardfile:
Kelemahannya adalah Anda harus mengatur ini per proyek dan ini membantu jika Anda terbiasa dengan ruby.
Saya juga telah menggunakan ekstensi chrome Tincr - tetapi tampaknya ekstensi tersebut terkait erat dengan kerangka kerja dan struktur file. (Saya mencoba memasang tincr untuk proyek jekyll tetapi itu hanya memungkinkan saya untuk menonton satu file untuk perubahan, tidak memperhitungkan penyertaan, perubahan parsial atau tata letak). Tincr bagaimanapun, bekerja sangat baik di luar kotak dengan proyek seperti rel yang memiliki struktur file yang konsisten dan telah ditentukan sebelumnya.
Tincr akan menjadi solusi yang bagus jika mengizinkan semua pola pencocokan inklusif untuk memuat ulang, tetapi proyek tersebut masih terbatas dalam kumpulan fiturnya.
sumber
Ini dapat dilakukan dengan menggunakan skrip python sederhana.
Detail lengkapnya dapat dirujuk di sini .
sumber
Berdasarkan jawaban attekei untuk OSX:
Masukkan semua ini ke
reload.scpt
:Itu akan memuat ulang tab pertama yang ditemukannya yang dimulai dengan
file://
dan diakhiri dengan argumen baris perintah pertama. Anda dapat menyesuaikannya sesuai keinginan.Terakhir, lakukan sesuatu seperti ini.
fswatch -o
mengeluarkan jumlah file yang telah berubah di setiap peristiwa perubahan, satu per baris. Biasanya hanya akan mencetak1
.xargs
membaca1
s in dan-n1
berarti meneruskan masing-masing sebagai argumen ke eksekusi baruosascript
(di mana ia akan diabaikan).sumber
tab.title.includes(argv[0])
sebagai kondisional, saya dapat mencocokkan judul halaman yang tidak terlalu rumit daripada URL, dan berfungsi saat menggunakan server lokal daripada file: //.Pasang dan siapkan
chromix
Sekarang tambahkan ini ke file
.vimrc
ubah port menjadi apa yang Anda gunakan
sumber
Simpan kode ini ke dalam file livereload.js dan sertakan di bagian bawah script HTML seperti ini:
Apa yang akan dilakukan ini adalah menyegarkan halaman setiap 100 mili-detik. Setiap perubahan yang Anda buat dalam kode akan langsung terlihat oleh mata.
sumber
Ok, ini solusi Auto Hotkey mentah saya (Di Linux, coba Auto Key ). Saat pintasan simpan keyboard ditekan, aktifkan browser, klik tombol muat ulang , lalu alihkan kembali ke editor. Saya hanya lelah menjalankan solusi lain. Tidak akan berfungsi jika editor Anda menyimpan otomatis.
sumber
Solusi offline menggunakan R
Kode ini akan:
buat browser disegarkan setiap kali ada perubahan yang disimpan ke file .html.
Solusi serupa ada untuk python dll.
sumber
Tambahkan ini ke HTML Anda
Saat Anda mengedit, halaman browser Anda diburamkan, dengan beralih kembali untuk melihatnya, peristiwa fokus diaktifkan dan halaman dimuat ulang.
sumber
lalu masukkan saja direktori yang ingin Anda pantau, jalankan "watch_refresh_chrome"
sumber