“ เปิดหรือโหลดใหม่” เอกสาร html จากบรรทัดคำสั่งหรือไม่


3

ฉันมีโปรแกรมที่สร้างเอกสาร html บางอย่าง ในตอนท้ายของสคริปต์ฉันใช้openคำสั่งเพื่อดูหน้าในเบราว์เซอร์โดยอัตโนมัติ

generate-document > index.html
open index.html

อย่างไรก็ตามหลังจากวนซ้ำรหัสฉันจบลงด้วยการindex.htmlเปิดสำเนาที่ล้าสมัยจำนวนมากในเบราว์เซอร์ของฉัน

มีวิธี (อย่างใดอย่างหนึ่งจากบรรทัดคำสั่งหรือภายในเบราว์เซอร์) เพื่อพูดอะไรบางอย่างเช่น "ถ้า index.html มีการดูแล้วรีเฟรชมันมิฉะนั้นโหลดมัน"?

generate-document > index.html
open-or-reload index.html

วิธีเฉพาะของ Safari หรือ Chrome นั้นใช้ได้


2
หากแท็บเป้าหมายและหน้าต่าง Safari มีโฟกัสและเป็นหน้าต่าง Safari สุดสุดให้ใช้บรรทัดคำสั่งต่อไปนี้เพื่อรีเฟรช:osascript -e "tell application \"Safari\" to set sameURL to URL of current tab of front window" -e "tell application \"Safari\" to set URL of current tab of front window to sameURL"
user3439894

ดี เพิ่มคำตอบนี้แล้วฉันจะโหวตขึ้น
Mark Harrison

คำตอบ:


2

บรรทัดคำสั่งต่อไปนี้สามารถเพิ่มลงในสคริปต์ของคุณและมันจะรีเฟรชแท็บที่มีการโฟกัสในหน้าต่าง Safari หน้าสุด (แม้ว่าหน้าต่างด้านหน้าเท่านั้นโหลดหน้าเดียวเท่านั้น):

osascript -e \
'tell application "Safari" to set URL of current tab of front window to "file:///foo.html"'

150: 157: ข้อผิดพลาดในการดำเนินการ: ตัวแปร sameURL ไม่ได้ถูกกำหนดไว้ (-2753)
Mark Harrison

@ Mark Harrison ฉันเพิ่งคัดลอกและวางบรรทัดคำสั่งเนื่องจากฉันมีมันในบรรทัดเดียวในคำตอบของฉันและมันทำงานโดยไม่มีข้อผิดพลาดคือสิ่งที่คุณพยายาม?
user3439894

ใช่มีและไม่มีการห่อหุ้มดูเหมือนว่าจะได้รับข้อผิดพลาดใน sameURL หลังจากการทดลองฉันได้รับ e-second เพื่อทำงานและทำการแก้ไขที่แนะนำ หากคุณคิดว่าไม่เป็นไรคุณสามารถอนุมัติได้ แต่มันใช้งานได้สำหรับฉันดังนั้นฉันจึงยอมรับคำตอบของคุณ ขอบคุณมาก!!
Mark Harrison

@ Mark Harrison ฉันลองทั้งสองวิธีและทำงานได้โดยไม่มีข้อผิดพลาดและไม่เห็นบรรทัดคำสั่งจริงที่ทำให้เกิดข้อผิดพลาดฉันไม่สามารถพูดได้ว่าทำไม แต่เนื่องจากมันใช้งานได้สำหรับคุณ
user3439894

3

ตรวจสอบLiveReload มันเป็นแอพที่ดูไฟล์ HTML ของคุณและสามารถโหลดหน้าเว็บในเบราว์เซอร์ของคุณได้โดยอัตโนมัติ LiveReload ยังสามารถทำสิ่งอื่น ๆ เช่นการคอมไพล์ไฟล์ SASS ไปยัง CSS อีกครั้งโดยอัตโนมัติจากนั้นโหลดเบราว์เซอร์ใหม่

นอกเหนือจากแอปที่ลิงก์ด้านบน LiveReload ยังมีอยู่ใน GitHub ภายใต้ "Open Community Indie Software License" ซึ่งไม่ได้เป็นโอเพ่นซอร์ส แต่รวมถึงประโยคคนตายที่จะแปลงเป็น MIT หากไม่มีการอัพเดทไบนารีใหม่สำหรับ สองปี. https://github.com/livereload/LiveReload

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.